HTTP Encrypted Token authentication strategy for Passport.
This module lets you authenticate HTTP requests using encrypted tokens in your Node.js applications. Encrypted_token is a custom authentication scheme used by Professional Information Business (PIB) group in Dow Jones. Encrypted tokens are typically used protect API endpoints, and are issued using Dow Jones Session server.
By plugging into Passport, encrypted token support can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express and Koa.
This work is based on passport-http-bearer.
$ npm install passport-http-encrypted-token
The HTTP Encrypted token authentication strategy authenticates users using a encrypted_token.
The strategy requires a verify
callback, which accepts that
credential and calls done
providing a user.
const EncryptedTokenStrategy = require('passport-http-encrypted-token').Strategy
passport.use(new EncryptedTokenStrategy(
function(token, done) {
User.findOne({ token: token }, function (err, user) {
if (err) { return done(err) }
if (!user) { return done(null, false) }
return done(null, user)
})
}
))
Use passport.authenticate()
, specifying the 'Encrypted_token'
strategy, to
authenticate requests. Requests containing encrypted tokens do not require session
support, so the session
option can be set to false
.
For example, as route middleware in an Express application:
app.get('/profile',
passport.authenticate('Encrypted_token', { session: false }),
function(req, res) {
res.json(req.user)
}
)
$ npm install
$ npm test
Use curl
to send an authenticated request.
$ curl -H "Authorization: Encrypted_token 123456789" http://127.0.0.1:3000/
- Jared Hanson (passport bearer auth implementation)
Released 2016 by Hrusikesh Panda @ Dow Jones