Skip to content

convergencelabs/convergence-jwt-util

Repository files navigation

Convergence JWT Generator

Build Status

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

To create a JWT key for your domain log into the Convergence Administration Console. If you have questions about generating a JWT Key Pair please consult the Convergence Developer 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.

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