
Research
/Security News
Weaponizing Discord for Command and Control Across npm, PyPI, and RubyGems.org
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.
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.
The npm package axios-token-refresher receives a total of 855 weekly downloads. As such, axios-token-refresher popularity was classified as not popular.
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.
Research
/Security News
Socket researchers uncover how threat actors weaponize Discord across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.
Security News
Socket now integrates with Bun 1.3’s Security Scanner API to block risky packages at install time and enforce your organization’s policies in local dev and CI.
Research
The Socket Threat Research Team is tracking weekly intrusions into the npm registry that follow a repeatable adversarial playbook used by North Korean state-sponsored actors.