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