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
expiryWindow: 15000
})
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.