npm.io
1.1.0 • Published 5 years ago

@id6/express

Licence
MIT
Version
1.1.0
Deps
1
Size
9 kB
Vulns
23
Weekly
0

id6-logo

id6-express

Express middleware for id6

npm

Usage

Install dependencies:

npm i @id6/express cookie-parser dotenv

Setup authentication:

const express = require('express');
const express = require('cors');
const { authenticate, isAuthenticated } = require('id6-express');

const app = express();

app.use(cors({
  // 1. allow browsers to send the auth cookie
  credentials: true,
}));
// 2. make sure express parses cookies
app.use(cookieParser());
// 3. add the auth middleware
app.use(authenticate({
  url: 'https://authorize.company.com',
  secret: 'changeMe',
}));

app.get('/hello', (req, res) => {
  const user = req.user; // set by id6
  res.json(user ? 'Authenticated' : 'Anonymous');
});
app.get('/private', isAuthenticated, (req, res) => {
  const user = req.user; // set by id6
  res.json(user ? 'Authenticated' : 'Anonymous');
});

app.listen(8000, () => console.log(`Listening on port 8000`));

Keywords