react-jwt-store
Version:
React JWT store
68 lines (51 loc) • 1.58 kB
Markdown
React JWT user store
```javascript
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>
}
}
```
You can set the token without interacting with cookies via the following.
```javascript
userStore.setToken('jwt')
```
You can force a refresh of the token via the following.
```javascript
userStore.refreshToken()
```
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.
```javascript
let userStore = require('react-jwt-store')({
refreshInterval: 1000 // ms,
expiryWindow: 15000 // ms
})
```
By default, the JWT assumes the cookie key is `XSRF-TOKEN`. This can be overridden
by passing `cookie` on the `options` hash:
```javascript
let userStore = require('react-jwt-store')({ cookie: 'NOT-XSRF-TOKEN'});
```
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.