Skip to content

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.

License

Notifications You must be signed in to change notification settings

OronNadiv/jwt-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

NPM version Build Status Test Coverage Dependencies DevDependencies JavaScript Style Guide

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: <url>, privateKey: <privateKey>, useRetry: <use retry>, issuer: <issuer>})
const jwtGenerator = new JWTGenerator({loginUrl: 'https://auth.domain.com', privateKey: '<privateKey>', useRetry: true, issuer: 'urn:home-automation/garage-door-raspberry-client'})

// jwtGenerator.makeNewToken({subject: <subject>, audience: <audience>, payload: <payload>, expiresIn: <expires (seconds)>})
jwtGenerator.makeNewToken({subject: 'report garage door state', audience: 'urn:home-automation/garage-door-api', payload: {"name": "John Doe", "admin": true}, expiresIn: 60})
  .then((token) => {
    // JWT generated by the authentication server.
  })

// jwtGenerator.makeToken({subject: <subject>, audience: <audience>, payload: <payload>, expiresIn: <expires (seconds)>})
jwtGenerator.makeToken({subject: 'report garage door state', audience: 'urn:home-automation/garage-door-api', payload: {"name": "John Doe", "admin": true}, expiresIn: 60})
.then((token) => {
  // JWT generated by the authentication server.
})

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 ([email protected])

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published