[*NEW*] Axios Refresh Tokens using Interceptors.

Joever Monceda
2 min readMay 16, 2021

A simple and straightforward interceptor to check token validity, to generate new access and refresh token before the actual request in axios if the existing access token is already expired.

npm install axios-jwtoken-refresher

Please read Axios libary, Refresh tokens and Access tokens if you’are not familiar with these libraries.

Installation:

Run npm install axios-jwtoken-refresher

Usage:

Add to your main project file.

import tokenRefresher from 'axios-jwtoken-refresher'
import axios from 'axios'

axios.create({
baseURL: 'https://api.example.com',
})

//Get where your initial refresh token persist.
const initialRefreshToken = '{provide initial refresh token}'
//Provide your refresh token endpoint.
const refreshTokenEndpoint = '/api/sample/token'
//Provide your own access token object result path.
const accessTokenResultPath = '/response/data/accessToken'
//Provide your own refresh token object result path.
const refreshTokenResultPath = '/response/data/refreshToken'
//Provide your own header options. (Optional)
const headerOptions = {
authPrefix: "Authorization",
bearerPrefix: "Bearer"
};

//To interecept and check token validity then request on refresh token endpoint if current access token is already expired!
tokenRefresher.interceptRequest(axios, {
initialRefreshToken: initialRefreshToken,
refreshTokenEndpoint: refreshTokenEndpoint,
accessTokenResultPath: accessTokenResultPath,
refreshTokenResultPath: refreshTokenResultPath,
headerOptions: headerOptions
});

//You can also access the get token method and set to axios instance manually. (Optional)
const tokens = tokenRefresher.getCurrentTokens();
axios.defaults.headers.common["Authorization"] = `Bearer ${tokens.accessToken}`;

Npm:

npmjs.com/package/axios-jwtoken-refresher

Looking for a JOB? Signup @ jobbhy and be notified!
https://jobbhy.com

Want to post a JOB as employer? Contact and be one us!
https://www.jobbhy.com/#/contactus

Read more about jobbhy:
Jobbhy — Smart Hiring | Job Vacancies | Recruitment
https://joever-monceda.medium.com/jobbhy-smart-hiring-job-vacancies-recruitment-f9fc9dad113b

Facebook:
https://www.facebook.com/jobbhy

LinkedIn:
https://www.linkedin.com/company/jobbhy-co-ltd

Twitter:
https://twitter.com/Jobbhy_

JSanitizer (Configurable sanitizer for XML and JSON.)
https://joever-monceda.medium.com/jsanitizer-nuget-library-5d2cdedb435d

--

--