@ackee/antonio-auth
Version:

65 lines (42 loc) • 2.48 kB
Markdown

# [](https://github.com/AckeeCZ/antonio/blob/master/LICENSE) [](https://travis-ci.com/AckeeCZ/antonio) [](https://reactjs.org/docs/how-to-contribute.html#your-first-pull-request) [](https://david-dm.org/AckeeCZ/antonio) [](https://bundlephobia.com/result?p=@ackee/antonio-auth) [](https://bundlephobia.com/result?p=@ackee/antonio-auth)  
# `@ackee/antonio-auth`
It includes a request interceptor for `@ackee/antonio-core` that sets the `Authorization` header with an access token obtained from `getAccessToken` from `@ackee/petrus`.
## Table of contents
- [Install](#install)
- [API](#api)
- [API (TypeDoc)](./docs)
## Install
```bash
yarn add @ackee/antonio-auth -S
# Check you have installed at least these dependencies' versions:
yarn add @ackee/petrus@5.2.1
```
## API
### `requestAuthHeaderInterceptor(request: Request): Request`
A request interceptor that sets the `Authorization` header with `setAuthHeader` from `@ackee/antonio-utils` and obtained from `getAccessToken` from `@ackee/petrus`.
#### Default usage example
```js
import { Antonio } from '@ackee/antonio-core';
import { requestAuthHeaderInterceptor } from '@ackee/antonio-auth';
const api = new Antonio({
baseURL: '...',
});
api.interceptors.request.use(null, requestAuthHeaderInterceptor);
```
#### Custom usage example (without @ackee/petrus)
```js
import { Antonio } from '@ackee/antonio-core';
import { setAuthHeader } from '@ackee/antonio-utils';
const api = new Antonio({
baseURL: '...',
});
function* getAccessToken() {
// Your custom function for obtaining the access token.
}
api.interceptors.request.use(null, function* (request) {
const accessToken = yield getAccessToken();
setAuthHeader(requst.headers, accessToken);
return request;
});
```