smart-auth-middleware

smart auth middleware

Usage no npm install needed!

<script type="module">
  import smartAuthMiddleware from 'https://cdn.skypack.dev/smart-auth-middleware';
</script>

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