Socket
Book a DemoInstallSign in
Socket

condor-jwt

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

condor-jwt

Condor JWT authentication Middleware

0.3.1
latest
Source
npmnpm
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

condor-jwt

This module lets you authenticate GRPC calls using JSON Web Tokens (JWTs) in your Condor GRPC services.

Build Status Coverage Status

Condor is a GRPC Framework for node.

Installation

npm i --save condor-framework condor-jwt

How to use

The JWT middleware decodes and verifies a JsonWebToken passed in the authorization header. If the token is valid, context.token (by default) will be set with the JSON object decoded to be used by later middleware for authorization and access control.

const Condor = require('condor-framework');
const jwt = require('condor-jwt');
const Greeter = require('./greeter');

const app = new Condor()
  .addService('./protos/greeter.proto', 'myapp.Greeter', new Greeter())
  .use(jwt({'secretOrPublicKey': 'shhhhh'}))
  // middleware below this line is only reached if JWT token is valid
  .use((context, next) => {
    console.log('valid token found: ', context.token);
    next();
  })
  .start();

Custom Methods

By default, the token will be retrieved from the authorization metadata. Also, you can provide your own method to retrieve the token. The method can be sync or async (return a promise). It must return the token object if found and valid, or null otherwise. The method will be called with the context.

options = {
  'getToken': (context) => {
    // do your magic here
    return token;
  },
};

In the same manner, you can provide your isRevoked method to determine if a token is revoked. The method can be sync or async (return a promise). If the token is not revoked, the method must return false or resolve with false.

options = {
  'isRevoked': (context, token) => {
    // do your magic here
    return false;
  },
};

Options

OptionDescription
getTokenCustom method to get the token
isRevokedCustom method to verify if a token is revoked
propertyNameWhere to store the token in the context. Default is token
passthroughContinue to next, even if no valid authorization token was found. Default is false
secretOrPublicKeya string or buffer containing either the secret for HMAC algorithms, or the PEM encoded public key for RSA and ECDSA

Additionaly, you can send any option of the verify method of the jsonwebtoken module:

  • algorithms
  • audience
  • issuer
  • ignoreExpiration
  • subject
  • clockTolerance
  • maxAge
  • clockTimestamp

Such options will be used to verify the token.

License and Credits

MIT License. Copyright 2017

Built by the GRPC experts at Devsu.

Keywords

condor

FAQs

Package last updated on 05 May 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.