0.1.7 • Published 4 years ago

@idct/axios-jwt-oobe v0.1.7

Weekly downloads
-
License
MIT
Repository
github
Last release
4 years ago

Axios JWT Out of the box experience

Wrapper around Axios which adds out-of-the-box experience for JWT Tokens with Refresh Tokens.

installation

Execute: npm install axios-jwt-oobe in your application and import it into your project usign the format of your choice (import, require).

usage

Create a new instance:

let axiosJwt = new AxiosJwtOobe(options);
  • options are optional

configuration

In order for the JWT handler to work you need to define few values:

  • token and refresh token field names in responses
  • refresh token url

If you want to use the internal login method then you also need to define one of the following:

  • login action function
  • login url, username and password fields

examples

If your refresh url is: https://somesite.com/auth/refresh, login url is: https://somesite.com/auth/login, both accept username and password using format:

{
    "x-username": "someusername",
    "x-password": "somepassword"
}

and your login methods return tokens in format:

{
    "super-token": "....",
    "super-refresh-token": "....."
}

Then you should set the refresh token url to https://somesite.com/auth/refresh, username field to x-username and password field to x-password.

You can do this by passing constructor options: refreshTokenRetrievalUrl, usernameField, passwordField, tokenFieldName, refreshTokenFieldName or by calling methods:

axiosJwt.jwtHandler.setLoginAction({
    "url": "https://somesite.com/auth/login",
    "usernameField": "x-username",
    "passwordField": "x-password"
});

axiosJwt.jwtHandler.setRefreshRetrievalUrl("https://somesite.com/auth/refresh");
axiosJwt.jwtHandler.setTokenFieldsNames("super-token", "super-refresh-token");

TODO

This a very early version of the application yet it already should simplify the process of handling JWT refresh tokens. Current todos include:

  • better tests split
  • option to pass refresh action instead of only url
  • allow to set different token field names for login and refresh actions

Contribution

Any reported issues or pull requests are more than welcome.

0.1.7

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.1.4

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago