Passport strategy for authenticating with odnoklassniki using the OAuth 2.0 API.
$ npm i passport-ok-strategy
var passport = require('passport'),
OdnoklassnikiStrategy = require('passport-ok-strategy').Strategy;
passport.use(new OdnoklassnikiStrategy({
clientID: '<app id>',
clientPublic: '<public key>',
clientSecret: '<secret key>',
callbackURL: 'http://localhost:3000/auth/odnoklassniki/callback'
},
function(accessToken, refreshToken, profile, cb) {
User.findOrCreate({okId: profile.id}, function (err, user) {
return cb(err, user);
});
}
));
Use passport.authenticate()
, specifying the 'odnoklassniki'
strategy, to
authenticate requests.
For example, as route middleware in an Express application:
app.get('/auth/odnoklassniki',
passport.authenticate('odnoklassniki'));
app.get('/auth/odnoklassniki/callback',
passport.authenticate('odnoklassniki', {failureRedirect: '/login'}),
function(req, res) {
// Successful authentication, redirect home.
res.redirect('/');
});