react-jwt-store

1.7.0 • Public • Published

react-jwt-store

React JWT user store

Usage

let React = require('react'),
  userStore = require('react-jwt-store')();
 
class someComponent extends React.Component {
  constructor() {
    super(props);
 
    this.state = {
      user: userStore.getUser(),
      token: userStore.getToken()
    };
  }
  render() {
    let user = this.state.user,
      token = this.state.token;
 
    return (
      <div>
        <h1>{user}</h1>
        <h2>{token}</h1>
  }
}

Set the token

You can set the token without interacting with cookies via the following.

userStore.setToken('jwt')

Refresh the token

You can force a refresh of the token via the following.

userStore.refreshToken()

Tweak the refresh timimg

By default, the store will check to see if the token is about to expire every minute and refresh the token if it will expire within 5 minutes. This can be customized by setting the refreshInterval and expiryWindow, respectively. See below for an example.

  let userStore = require('react-jwt-store')({
    refreshInterval: 1000 // ms,
    expiryWindow: 15000 // ms
  })

Override Cookie Key

By default, the JWT assumes the cookie key is XSRF-TOKEN. This can be overridden by passing cookie on the options hash:

  let userStore = require('react-jwt-store')({ cookie: 'NOT-XSRF-TOKEN'});

Set a logger

By default, the store does not log anything, but if you pass in a console compatible logger, the store will log the state of the token as it changes.

Readme

Keywords

Package Sidebar

Install

npm i react-jwt-store

Weekly Downloads

178

Version

1.7.0

License

MIT

Unpacked Size

74.9 kB

Total Files

16

Last publish

Collaborators

  • jasif-wm
  • shyam.mohan
  • qbibrahim
  • sidharth.n
  • hariqb
  • arjuncprasannan
  • renjith_ram_qburst
  • anasqburst
  • jyothis-qb
  • qburst-pratyush
  • cdrohithmqb
  • sudheeshqburst
  • davoodul
  • mable-liza-mathew
  • sowmyab
  • anoop-kuttikkattu
  • munisa
  • dheerajds
  • arjunqb
  • ashishqburst
  • lanetix-system
  • manu-kodiyan-winmore
  • dnm-winmore
  • mkdyanugk
  • vigneshk7
  • soumyaarun
  • aswanth
  • sajith.qb
  • dhiluraj-qburst
  • anandqb
  • arun-dtk
  • vikasqb
  • acpradosh1234