
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
axios-token-refresher
Advanced tools
Enables your axios client to attach a valid authorization token to each of your request.
This library enables your axios client to append a valid authorization token to your requests.
Install the package using NPM as given below.
npm i axios-token-refresher
Then add the below code into your application.
const wrapTokenRefresher = require('axios-token-refresher');
const formatTokenResponse = (response) => ({
{
accessToken: response.token,
expiresIn: response.expiry_duration, // in seconds
tokenType: response.token_type // "Bearer" | "Basic"
}
});
/*
This function fetches the new authorization token & returns the Promise
This function will be called by refresher to get new token whenever the existing
token is expired.
*/
const fetchAuthToken = () => axios
.get('www.auth-server.com/get/token/')
.then(response => formatTokenResponse(response.data));
/*
Optional token configurations. details below.
*/
const options = {
invalidTokenStatuses : [401, 403]
}
const axiosClientWithToken = wrapTokenRefresher(axios.create(), fetchAuthToken, options);
Now use axiosClientWithToken
as like normal axios client which will take care of refreshing & attaching valid auth token with your requests.
Note: We can import types from axios-token-refresher/types
like given below.
import { AuthToken } from "axios-token-refresher/types";
Options can be passed as the third parameter for wrapTokenRefresher
. It is optional.
const options = {
// List of HTTP statuses which are sent by server when token is invalid.
invalidTokenStatuses : [401], // default
// Name of token header in which we send the fetched token.
tokenHeaderName: 'authorization', // default
// `buildTokenHeader` allows to decide how the token header value should be built.
buildTokenHeader: function(tokenDetails) {
return `${tokenDetails.type} ${tokenDetails.value}`
} // default
};
const axiosClientWithToken = wrapTokenRefresher(axios.create(), fetchAuthToken, options);
We welcome to contribute by adding features, fixing bugs or by creating feature requests or submitting issues.
Please contact me at rrameshbtech@gmail.com for more sugestions.
This library is licensed under MIT License
FAQs
Enables your axios client to attach a valid authorization token to each of your request.
We found that axios-token-refresher demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.