passport-forward-auth
TypeScript icon, indicating that this package has built-in type declarations

1.1.1 • Public • Published

passport-forward-auth

Small library for nodejs to use HTTP headers authentication behind traefik forward-auth.

Example how to use it

import express, { Application } from 'express';
import { authenticate, use, initialize, Strategy } from 'passport';
import { ForwardAuthStrategy, VerifyFunction } from 'passport-forward-auth';

const port = 8082;

const authHeaders = ['X-ForwardUser', 'X-ForwardUserEmail'];

const app: Application = express();

const verifyFn: VerifyFunction = (verifyHeaders, done) => {
  console.log('have user data found in headers', verifyHeaders);
  return !verifyHeaders ? done(null) : done(null, { id: 'user_id' });
};

const createStrategy = (): Strategy => new ForwardAuthStrategy({ authHeaders }, verifyFn);

use(createStrategy());

app.use(initialize());

app.get('/auth/forward-auth', authenticate('forward-auth', { session: false }), (req, res) => {
  res.send({ status: 'ok', user: req.user });
});

Package Sidebar

Install

npm i passport-forward-auth

Weekly Downloads

1

Version

1.1.1

License

MIT

Unpacked Size

14.4 kB

Total Files

11

Last publish

Collaborators

  • schamane