jwt-service v10.0.4
jwt-service
A simple wrapper for a simpler JWT surface API
This wrapper is directly usable with Knifecycle.
Overriding
Let's say you wanna create a sub-service of this one with custom inputs, for say, refresh tokens in a Whook project, here is how you would do:
import initJWT, { JWTServiceConfig } from 'jwt_service';
import { inject } from 'knifecycle';
export type RefreshJWTServiceConfig = {
ENV: JWTServiceConfig['ENV'];
REFRESH_JWT_SECRET_ENV_NAME: JWTServiceConfig['JWT_SECRET_ENV_NAME'];
REFRESH_JWT: JWTServiceConfig['JWT'];
};
export default inject(
[
'?JWT_SECRET_ENV_NAME>REFRESH_JWT_SECRET_ENV_NAME',
'JWT>REFRESH_JWT',
'?ENV',
'?log',
'?time',
],
initJWT,
);
API
Functions
Typedefs
initJWT(services) ⇒ Promise.<JWTService>
Instantiate the JWT service
Kind: global function
Returns: Promise.<JWTService> - A promise of the jwt service
Param | Type | Description |
---|---|---|
services | Object | The services to inject |
services.JWT_SECRET_ENV_NAME | function | The environment variable name in which to pick-up the JWT secret |
services.ENV | Object | An environment object |
services.JWT | function | The JWT service configuration object |
services.log | function | A logging function |
services.time | function | A function returning the current timestamp |
Example
import initJWTService from 'jwt-service';
const jwt = await initJWTService({
JWT: {
secret: 'secret',
duration: '2d',
tolerance: '2h',
algorithms: ['HS256'],
},
log: console.log.bind(console),
time: Date.now.bind(Date),
});
const token = await jwt.sign({ my: 'payload' });
JWTService
Kind: global typedef
- JWTService
- .sign(payload, [algorithm]) ⇒ Promise.<JWTSignResult>
- .verify([token]) ⇒ Promise.<Object>
JWTService.sign(payload, algorithm) ⇒ Promise.<JWTSignResult>
Sign the given payload
Kind: static method of JWTService
Returns: Promise.<JWTSignResult> - A promise to be resolved with the signed token.
Param | Type | Description |
---|---|---|
payload | Object | The payload to sign |
algorithm | String | The signing algorithm |
Example
const token = await jwt.sign({ my: 'payload' });
JWTService.verify(token) ⇒ Promise.<Object>
Verify and decode the given token
Kind: static method of JWTService
Returns: Promise.<Object> - A promise to be resolved with the token payload.
Param | Type | Description |
---|---|---|
token | String | The token to decode |
Example
const payload = await jwt.verify('my.jwt.token');
Authors
License
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago