Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

axios-token-refresher

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

axios-token-refresher

Enables your axios client to attach a valid authorization token to each of your request.

  • 2.0.5
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

axios-token-refresher

Build Status

This library enables your axios client to append a valid authorization token to your requests.

How to use?

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

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);

Contribute

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.

License

This library is licensed under MIT License

Keywords

FAQs

Package last updated on 06 Jan 2021

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc