axios-jwtoken-refresher

1.0.14 • Public • Published

Axios Refresh Token

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

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}`;

//Just import axios-jwtoken-refresher once in your main or entry file.
//This will automatically intercept the request and check the token validity and if the token is already expired.
//It will request to the refresh token endpoint that you provide.

License

License: MIT
Copyright (c) 2021 Joever Monceda
Linkedin: Joever Monceda
Medium: Joever Monceda
Twitter @_EthanHunt07
Facebook: Joever M

Package Sidebar

Install

npm i axios-jwtoken-refresher

Weekly Downloads

0

Version

1.0.14

License

MIT

Unpacked Size

8.16 kB

Total Files

5

Last publish

Collaborators

  • jmonceda