Nomenclature Predictably Misunderstood

    passport-infotjenester

    1.2.0 • Public • Published

    passport-infotjenester

    Build Status npm npm

    Infotjenester authentication strategy for Passport

    This module lets you authenticate using Infotjenester SSO in your Node.js applications. By plugging into Passport, Infotjenester authentication can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express.

    Install

    npm install passport-infotjenester

    Usage

    Create an Application

    Before using passport-infotjenester, you must register an application with Infotjenester. Your application will be issued a client api-key, which need to be provided to the strategy. You will also need to configure a redirect URI which matches the route in your application.

    Configure Strategy

    The Infotjenester authentication strategy authenticates users using an Infotjenester account. The client api-key obtained when creating an application is supplied as option when creating the strategy. The strategy also requires a verify callback, which receives the profile which contains the authenticated user's Infotjenester profile. The verify callback must call cb providing a user to complete authentication. You will also be able to send in a vendor to differentiate between the vendors.

    const ItasStategy = require('passport-infotjenester').Strategy;
     
    passport.use(new ItasStategy({
        clientApiKey: INFOTJENESTER_CLIENT_API_KEY,
        callbackURL: "http://localhost:3000/auth/infotjenester/callback",
        passReqToCallback: true //this is optional -> defaults to false
        vendor: 2 //this is optional -> defaults to 1
      },
      function(req /* <-- depends on passReqToCallback */, profile, cb) {
        User.findOrCreate({ userId: profile.UserGuid }, function (err, user) {
          return cb(err, user);
        });
      }
    ));

    Authenticate Requests

    Use passport.authenticate(), specifying the 'infotjenester' strategy, to authenticate requests.

    For example, as route middleware in an Express application:

    app.get('/auth/infotjenester',
      passport.authenticate('infotjenester'));
     
    app.get('/auth/infotjenester/callback',
      passport.authenticate('infotjenester', { failureRedirect: '/login' }),
      function(req, res) {
        // Successful authentication, redirect home.
        res.redirect('/');
      });

    License

    The MIT License Copyright (c) Carsten Jacobsen

    Install

    npm i passport-infotjenester

    DownloadsWeekly Downloads

    4

    Version

    1.2.0

    License

    MIT

    Last publish

    Collaborators

    • crsten
    • itasdesk