Security News
Input Validation Vulnerabilities Dominate MITRE's 2024 CWE Top 25 List
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
heroku-bouncer
Advanced tools
node-heroku-bouncer is an easy-to-use module for adding Heroku OAuth authentication to express 4 apps.
$ npm install heroku-bouncer --save
node-heroku-bouncer assumes you've already added cookie-parser and client-sessions middlewares to your app. To set it up, pass it your OAuth client ID and secret and another secret used to encrypt your user's OAuth session data.
Use the bouncer.middleware
object to set up middleware that will ensure that
your users are logged in (and redirect otherwise), and the bouncer.routes
object to add the OAuth-specific routes to your app:
var express = require('express');
var app = express();
app.use(require('cookie-parser')('your cookie secret'));
app.use(require('client-sessions')({
secret: 'your session secret',
cookie: {
path : '/',
signed : true,
httpOnly: true,
maxAge : null
}
}));
var bouncer = require('heroku-bouncer')({
herokuOAuthID : 'client-id',
herokuOAuthSecret : 'client-secret',
herokuBouncerSecret: 'bouncer-secret'
});
app.use(bouncer.middleware);
app.use(bouncer.router);
app.get('/', function(req, res) {
res.end('you are clearly logged in!');
});
After requests pass through bouncer.middleware
, they'll have a
heroku-bouncer
property on them:
{
token: 'user-api-token',
id : 'user-id',
name : 'user-name',
email: 'user-email'
}
To log a user out, send them to /auth/heroku/logout
.
Options | Required? | Default | Description |
---|---|---|---|
herokuOAuthID | Yes | n/a | The ID of your Heroku OAuth client |
herokuOAuthSecret | Yes | n/a | The secret of your Heroku OAuth client |
herokuBouncerSecret | Yes | n/a | A random string used to encrypt your user session data |
sessionSyncNonce | No | null | The name of a nonce cookie to validate sessions against |
ignoreRoutes | No | [] | An array of regular expressions to match routes to be ignored |
herokuAuthURL | No | "https://id.heroku.com" | The location of the Heroku OAuth server |
herokaiOnly | No | false | Whether or not to restrict the app to Herokai only |
herokaiOnlyRedirect | No | "https://www.heroku.com" | Where to redirect non-Herokai to when using herokaiOnly |
$ npm test
FAQs
heroku bouncer middleware for express
The npm package heroku-bouncer receives a total of 1 weekly downloads. As such, heroku-bouncer popularity was classified as not popular.
We found that heroku-bouncer 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.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.
Research
Security News
A threat actor's playbook for exploiting the npm ecosystem was exposed on the dark web, detailing how to build a blockchain-powered botnet.