Home Automation - JSON Web Token (JWT) Generator
This package is being used by the home automation project.
The package generates 'JSON Web Token' (JWT) by using the API of the authentication server.
Installation (via npm)
$ npm install --save jwt-generator
Usage
The package supports ES5 or later. The example below is using ES6 features.
Here you can find instructions on how to generate private & public keys.
const JWTGenerator = require('jwt-generator')
const jwtGenerator = new JWTGenerator({loginUrl: 'https://auth.domain.com', privateKey: '<privateKey>', useRetry: true, issuer: 'urn:home-automation/garage-door-raspberry-client'})
jwtGenerator.makeNewToken({subject: 'report garage door state', audience: 'urn:home-automation/garage-door-api', payload: {"name": "John Doe", "admin": true}, expiresIn: 60})
.then((token) => {
})
jwtGenerator.makeToken({subject: 'report garage door state', audience: 'urn:home-automation/garage-door-api', payload: {"name": "John Doe", "admin": true}, expiresIn: 60})
.then((token) => {
})
The difference between makeToken
and makeNewToken
is that the former may re-use existing token that has been stored in the cached,
while the latter will always generate new token by calling the authentication server.
License
AGPL-3.0
Author
Oron Nadiv (oron@nadiv.us)