【发布时间】:2014-11-30 21:12:05
【问题描述】:
我有以下使用 passport-google-oauth 的节点代码...
app.get('/auth/google', passport.authenticate('google', { scope : ['profile', 'email'] }));
app.get('/auth/google/callback', function(req,res) {
console.log("callback");
passport.authenticate('google', {
successRedirect : '/signin',
failureRedirect : '/signin'
});
});
还有……
passport.serializeUser(function(user, done) {
console.log("ser");
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
console.log("des");
User.findById(id, function(err, user) {
done(err, user);
});
});
passport.use(new GoogleStrategy({
clientID : 'id',
clientSecret : 'key',
callbackURL : 'http://host/auth/google/callback',
},
function(token, rtoken, profile, done) {
console.log("proc");
console.log(profile);
done(null, profile);
}));
问题是,回调被调用,但没有其他反应。处理功能永远不会命中。回调最终超时。有什么想法我哪里出错了吗?
【问题讨论】:
-
行
console.log("callback");执行了吗? -
另外你的 /signin 路由是什么样的?回调也应该是获取或发布。我认为这通常是一个帖子。
-
也许您的问题出在 GoogleStrategy。试试这个: var GoogleStrategy = require('passport-google-oauth').OAuth2Strategy;
标签: javascript node.js passport.js