passport-ibmsso-openidconnect

1.0.1 • Public • Published

passport-ibmsso-openidconnect

This module provides the passport strategy for authenticating with IBMid and w3id OpenID Connect.

Install

$ npm install passport-ibmsso-openidconnect

Usage

Example

  1. Without discovery endpoint example:
import Strategy from 'passport-ibmsso-openidconnect';
import fs from 'fs';

const strategy = new Strategy({
  authorizationURL: <Authorization Endpoint>,
  tokenURL: <Token EndPoint>,
  clientID: <Client ID>,
  scope: 'openid',
  response_type: 'code',
  clientSecret: <Client Secret>,
  callbackURL: <Redirect URI>,
  skipUserProfile: true,
  issuer: <Issuer>,
  certs: [
    fs.readFileSync(<Cert1 Path>),
    fs.readFileSync(<Cert2 Path>),
    ...
  ]
}, (iss, sub, profile, accessToken, refreshToken, params, done) => {
  process.nextTick(() => {
    profile._json.accessToken = accessToken;
    profile._json.refreshToken = refreshToken;
    return done(null, profile);
  });
});

strategy.init()
  .then(() => {
    passport.use('ibmopenidconnect', strategy.openid);
  });
  1. With discovery endpoint example:
import Strategy from 'passport-ibmsso-openidconnect';
import fs from 'fs';

const strategy = new Strategy({
  autoDiscovery: true,
  clientID: <Client ID>,
  scope: 'openid',
  response_type: 'code',
  clientSecret: <Client Secret>,
  callbackURL: <Redirect URI>,
  skipUserProfile: false,
  issuer: <Issuer>
}, (iss, sub, profile, accessToken, refreshToken, params, done) => {
  process.nextTick(() => {
    profile._json.accessToken = accessToken;
    profile._json.refreshToken = refreshToken;
    return done(null, profile);
  });
});

strategy.init()
  .then(() => {
    passport.use('ibmopenidconnect', strategy.openid);
  });

Package Sidebar

Install

npm i passport-ibmsso-openidconnect

Weekly Downloads

0

Version

1.0.1

License

MIT

Unpacked Size

14.2 kB

Total Files

11

Last publish

Collaborators

  • yanlianggu