support Authentication

1. just support `BasicAuth` now
2. update demo and tests