UNPKG

@convergence/jwt-util

Version:

A utility for generating JSON Web Tokens for authenticating to Convergence.

39 lines (27 loc) 1.63 kB
# Convergence JWT Generator [![Build Status](https://travis-ci.org/convergencelabs/convergence-jwt-util.svg?branch=master)](https://travis-ci.org/convergencelabs/convergence-jwt-util) This project helps users easily create a JavaScript Web Token (JWT) for logging into Convergence. JWTs allow Convergnece to trust that an external system has properly authenticated a user. Convergence uses asymetric RSA Public / Private keys to generate JWTs. Convergence will store your public key. You must store your private key in a safe place. The public / private key pair sets up trust between your application and Convergence. You can learn more about JWTs at [http://jwt.io](http://jwt.io) To create a JWT key for your domain log into the [Convergence Administration Console](https://convergence.io). If you have questions about generating a JWT Key Pair please consult the [Convergence Developer Guide](https://docs.convergence.io/guide/) ## Installation `npm install --save @convergence/jwt-util` ## Example Usage The below demonstrates how you can generate a JWT in node using a private key stored on the filesystem. ```js var fs = require('fs'); var JwtGenerator = require('@convergence/jwt-util'); // replace with your private key var privateKey = fs.readFileSync('test/private.key'); // Replace with your key id var keyId = "my-convergence-key"; var gen = new JwtGenerator(keyId, privateKey); // Provide optional information about the uers. var claims = { firstName: "John", lastName: "Doe" }; // Provide the username var username = "jdoe"; // Generate the token var token = gen.generate(username, claims); ```