A helper that aims to easily manage multiple secrets for your tokens.
npm install --save jsonwebtoken-helper
yarn add jsonwebtoken-helper
- jsonwebtoken: https://github.com/auth0/node-jsonwebtoken
const jwtHelper = require('jsonwebtoken-helper').default;
or with ES6
import jwtHelper from 'jsonwebtoken-helper';
const payload = {
name: 'John Doe'
};
const text = jwtHelper.sign(payload);
const text = jwtHelper.verify(token);
To customize the library, you need to use environement variables.
The bold value are mandatary.
- JWT_SECRET_SEPARATOR
The separator used to split the secrets and corresponding key ids.
Example
JWT_SECRET_SEPARATOR='######'
- JWT_SECRET_TOKEN
The list of secrets.
Example
JWT_SECRET_TOKEN='oldsecret######ceciestuntest######asupersecret'
- JWT_KEY_IDS
The list of the corresponding key ids.
Example
JWT_KEY_IDS='######keyidxyz######fjkal79r879sdf'
- JWT_ISSUER
The issuer that will provide the token.
Example
JWT_ISSUER='JohnDoeCorp'
- JWT_DEFAULT_EXPIRES
The default expire value for the token. If you don't provide it. The token will don't have a default expire value and never expire if you give anything.
Eg: 60, "2 days", "10h", "7d". A numeric value is interpreted as a seconds count. If you use a string be sure you provide the time units (days, hours, etc), otherwise milliseconds unit is used by default ("120" is equal to "120ms").
Example
JWT_DEFAULT_EXPIRES=60
Guillaume Quittet