Skip to content

Latest commit

 

History

History
92 lines (71 loc) · 2.68 KB

File metadata and controls

92 lines (71 loc) · 2.68 KB

API

Functions

initJWT(services)Promise.<JWTService>

Instantiate the JWT service

Typedefs

JWTService

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>

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');