README
smart-auth-middleware
This package contains the code related to authentication token process w.r.t IDS service
Installation
This is a Node.js module available through the
npm registry. It can be installed using the
npm
command line tools.
npm install smart-auth-middleware --save
Tests
npm install
npm test
USAGES
To use this middleware you need to do the following things in your entry level file.
const authentication = require('smart-auth-middleware');
The above line of statement is used to require the middleware method.
const express = require('express');
const app = express();
const router = express.Router();
const options = {
IDENTITY_SERVICE_URL: 'http://identity-server.me'
}
app.use('/', authentication(options), router);
Options information
The following are the options that can be passed to Multer.
Key | Description | Note |
---|---|---|
IDENTITY_SERVICE_URL |
Identity server URL which will validate the JWK | |
ISSUER |
Issuer of JWT token (Optional) | |
AUDIENCE |
Audience of JWT token (Optional) | |
PUBLIC_KEY_PATH |
Public key path (Optional) | |
JWKSURL |
JWK's url (Optional) | |
ignorePaths |
ignore routes path (Optional) like: [ '/ping', '/helathcheck', '/user/:userId' ] |
The above line of statement demonstrate the usage of middleware function in order to get authenticate the user Authorization token w.r.t IDS service. The function should be used in above manner.
a) authPreCheck method will check the basic validation like required configuration is set or not if not then will throws the error and also save an appropriate logs as well. b) jwtVerify method will verify the Authroization token w.r.t IDS service and set the user information under req.user object. c) authPostCheck method will verify the whether the request token is verified by IDS service, if yes then there should be a req.user object.
Dependencies
- jwks-rsa: Library to retrieve RSA public keys from a JWKS endpoint
- express-jwt: JWT authentication middleware.
Reference
https://www.npmjs.com/package/auth.js
Dev Dependencies
None
License
MIT