Skip to content

MojeID (OpenID) authentication strategy for Passport and Node.js.

License

Notifications You must be signed in to change notification settings

xmikus01/passport-mojeid

Repository files navigation

Passport-MojeID

Passport strategy for authenticating with MojeID using OpenID 2.0.

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

Installation

$ npm install passport-mojeid

Usage

Configure Strategy

The MojeID authentication strategy authenticates users using a MojeID account, which is also an OpenID 2.0 identifier. The strategy requires a validate callback, which accepts this identifier and calls done providing a user. Additionally, options can be supplied to specify a return URL and realm.

passport.use(new MojeIDStrategy({
    returnURL: 'http://localhost:3000/auth/mojeid/return',
    realm: 'http://localhost:3000/'
  },
  function(identifier, done) {
    User.findByOpenID({ openId: identifier }, function (err, user) {
      return done(err, user);
    });
  }
));

Authenticate Requests

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

For example, as route middleware in an Express application:

app.get('/auth/mojeid',
  passport.authenticate('mojeid'));

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

Examples

For a complete, working example, refer to the signon example.

Tests

$ npm install --dev
$ make test

Build Status

Credits

License

The MIT License

Copyright (c) 2011-2013 Jared Hanson <http://jaredhanson.net/>

Copyright (c) 2014 Petr Mikusek

About

MojeID (OpenID) authentication strategy for Passport and Node.js.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published