passport-pnoi
Version:
OAuth2 client authentication for PN:OI using passport.js
61 lines (42 loc) • 1.9 kB
Markdown
//passportjs.org/) strategy for authenticating with [PN:OI](https://pnoi.net/) 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](http://www.senchalabs.org/connect/)-style middleware, including [Express](http://expressjs.com/).
```
npm install passport-pnoi
```
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);
});
}
));
```
Use `passport.authenticate()`, specifying the `'pnoi'` strategy, to authenticate requests.
For example, as route middleware in an [Express](http://expressjs.com/) 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('/');
});
```
Initiated by [Makis Tracend](http://github.com/tracend)
Part of [PN:OI](http://pnoi.net/) by [K&D Interactive](http://kdi.co/)
Released under the [MIT license](http://makesites.org/licenses/MIT)
[ ](http: