
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
passport-http-bearer
Advanced tools
The passport-http-bearer npm package is a Passport strategy for authenticating with a bearer token. This module lets you authenticate HTTP requests using bearer tokens, typically used to protect API endpoints. Bearer tokens are usually generated by an authorization server and are used to access protected resources.
Authenticate Requests Using Bearer Tokens
This feature allows you to authenticate HTTP requests using bearer tokens. The code sample demonstrates how to set up the BearerStrategy with Passport and protect an endpoint using this strategy.
const passport = require('passport');
const BearerStrategy = require('passport-http-bearer').Strategy;
passport.use(new BearerStrategy(
function(token, done) {
User.findByToken(token, function (err, user) {
if (err) { return done(err); }
if (!user) { return done(null, false); }
return done(null, user);
});
}
));
// Protect an endpoint
app.get('/profile',
passport.authenticate('bearer', { session: false }),
function(req, res) {
res.json(req.user);
});
The passport-jwt package is another Passport strategy for authenticating with JSON Web Tokens (JWT). It is similar to passport-http-bearer in that it is used to protect API endpoints, but it specifically deals with JWTs instead of generic bearer tokens.
The express-bearer-token package is a middleware for Express that extracts bearer tokens from HTTP requests. While it does not provide authentication out of the box like passport-http-bearer, it can be used in conjunction with other authentication mechanisms to achieve similar functionality.
The oauth2orize package is a toolkit for implementing OAuth 2.0 authorization servers. It can be used to issue bearer tokens, which can then be authenticated using passport-http-bearer. It provides a more comprehensive solution for OAuth 2.0 compared to passport-http-bearer, which focuses solely on authentication.
HTTP Bearer authentication strategy for Passport.
This module lets you authenticate HTTP requests using bearer tokens, as specified by RFC 6750, in your Node.js applications. Bearer tokens are typically used protect API endpoints, and are often issued using OAuth 2.0.
By plugging into Passport, bearer token support can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express.
$ npm install passport-http-bearer
The HTTP Bearer authentication strategy authenticates users using a bearer
token. The strategy requires a verify
callback, which accepts that
credential and calls done
providing a user. Optional info
can be passed,
typically including associated scope, which will be set by Passport at
req.authInfo
to be used by later middleware for authorization and access
control.
passport.use(new BearerStrategy(
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, { scope: 'all' });
});
}
));
Use passport.authenticate()
, specifying the 'bearer'
strategy, to
authenticate requests. Requests containing bearer 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('bearer', { session: false }),
function(req, res) {
res.json(req.user);
});
Bearer tokens are typically issued using OAuth 2.0. OAuth2orize is a toolkit for implementing OAuth 2.0 servers and issuing bearer tokens. Once issued, this module can be used to authenticate tokens as described above.
For a complete, working example, refer to the Bearer example.
$ npm install
$ npm test
Copyright (c) 2011-2013 Jared Hanson <http://jaredhanson.net/>
FAQs
HTTP Bearer authentication strategy for Passport.
The npm package passport-http-bearer receives a total of 192,053 weekly downloads. As such, passport-http-bearer popularity was classified as popular.
We found that passport-http-bearer demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.