Provides a react hook which uses axios-http-jwt to manage JWT authentication.
import axios from 'axios';
import { useClient } from 'react-axios-http-jwt';
const _client = const _client = axios.create({ withCredentials: true });
const onLogin = async (data: any): Promise<string> => {
const response = await _client.post('/api/token/', data);
return response.data.access;
};
const onLogout = async (): Promise<void> => {
await _client.delete('/api/token/clear/');
};
const onRefresh = async (): Promise<string> => {
const response = await _client.post(`/api/token/refresh/`);
return response.data.access;
};
const client = useClient(config, onLogin, onLogout, onRefresh);
client.isAuthenticated // true when access token exists
client.isLoading // true when client attempting to load initial access token
client.axios // axios instance with access token header
client.login // login function
client.logout // logout function