Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
// file: /applications/example/config/passport.js
var p = require('passport'),
pGoogle = require('passport-google-oauth');
p.serializeUser(function(user, done) { done(null, user); });
p.deserializeUser(function(user, done) { done(null, user); });
module.exports = {
lib: p,
strategies: {
google: {
param: {
clientID: 'ID-HERE',
clientSecret: 'SECTET-HERE',
callbackURL: '/api/auth/google/callback'
},
strategy: pGoogle.OAuth2Strategy,
authenticate: function(req, token, refreshToken, profile, done) {...},
successRedirect: '/', failureRedirect: '/'
}
}
};
}
// file: /applications/example/app/api/auth/google/signIn/get.js
module.exports = function(client, callback) {
client.passport.init(function () {
client.passport.strategies.google.authenticate(client.req, client.res, callback);
}, callback);
};
// file: /applications/example/app/api/auth/google/callback/get.js
module.exports = function(client, callback) {
client.passport.init(function () {
client.passport.strategies.google.authenticateCallback(client.req, client.res, callback);
}, callback);
};
Новая функциональность Impress Application Server для Node.js