按照PassportJS docsPassportJS(谷歌的OpenID)没有在req.user
如果验证成功,接下来的处理程序将被调用和
req.user
属性将被设置为通过验证的用户
不过,我有这样的:
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(obj, done) {
done(null, obj);
});
passport.use(new GoogleStrategy({
returnURL: "http://localhost:3000/auth/google/return",
realm: "http://localhost:3000/"
}, function(id, profile, done) {
console.log("Done: ", profile);
done(null, profile);
}));
app.get('/auth/google', passport.authenticate('google', {session: false}));
app.get('/auth/google/return', passport.authenticate('google', {
successRedirect: '/success',
failureRedirect: '/failure',
session: false
}));
app.get('/success', function(req, res, next) {
console.log(req.user);
res.send(JSON.stringify(req.user));
});
app.get('/failure', function(req, res, next) {
res.send("FAIL");
});
在路由
而且req.user
/success
是undefined
。 GoogleStrategy
定义中的req.user
没问题。这是为什么?
我试图创建一个应该是无状态的RESTful API。 –