Passport.js authentication for PN:OI

Passport strategy for authenticating with PN:OI using the OAuth 2.0 API.

This module lets you authenticate using PN:OI in your Node.js applications.

By plugging into Passport, PN:OI authentication can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express.

Install

npm install passport-pnoi

Usage

Configure Strategy

The PN:OI authentication strategy authenticates users using a PN:OI account and OAuth 2.0 tokens. The strategy requires a verify callback, which accepts these credentials and calls done providing a user, as well as options specifying a client ID, client secret, and callback URL.

var OAuth2Strategy = require("passport-crudr").Strategy;

passport.use(new OAuth2Strategy({
    clientID: CLIENT_ID,
    clientSecret: CLIENT_SECRET,
    callbackURL: "http://www.example.net/auth/crudr/callback"
    },
    function(accessToken, refreshToken, profile, done) {
    User.findOrCreate({ providerId: profile.id }, function (err, user) {
        return done(err, user);
    });
    }
));

Authenticate Requests

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

For example, as route middleware in an Express application:

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

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

Credits

Initiated by Makis Tracend

Part of PN:OI by K&D Interactive

Released under the MIT license

SEARCH FOR STRATEGIES

0STRATEGIES