use*_*301 12 javascript node.js passport.js
我使用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'
});
});
Run Code Online (Sandbox Code Playgroud)
和...
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);
}));
Run Code Online (Sandbox Code Playgroud)
问题是,回调被调用但没有其他事情发生.处理功能永远不会发生.回调最终超时.我出错的任何想法?
我刚刚发现 Passport-google-oauth 包导出以下内容:
exports.Strategy =
exports.OAuthStrategy = OAuthStrategy;
exports.OAuth2Strategy = OAuth2Strategy;
Run Code Online (Sandbox Code Playgroud)
这意味着,“默认”(即策略)根本不是 oauth2...所以您最好明确使用 OAuth2Strategy。它对我有用。我花了几个小时才发现这是问题所在......
| 归档时间: |
|
| 查看次数: |
1282 次 |
| 最近记录: |