Cookie过期后PassportJS无法认证

时间:2019-04-17 08:52:05

标签: express passport.js google-oauth cookie-session

我正在使用passportjscookie-session来通过Google OAuth2进行身份验证和会话管理,并且这是第一次使用。

在Cookie过期且用户尝试重新加载页面后,即使Google提供了访问令牌,passport.authenticate('google')方法也仍然失败。下面是我正在使用的代码:

app.use(cookieSession({
    maxAge: 10000, // just 10 seconds
    keys: ['mycookiekey']
}))

app.get("/auth", passport.authenticate("google", {
    scope: ["profile"]
}));

app.get("/auth/redirect", passport.authenticate("google", {failureRedirect: '/login'}), (req, res)=> {
    res.redirect("/profile");
    //res.send("You are logged in")
});

请注意,maxAge设置为10000(10秒),因此工作10秒钟,但是此后重新加载页面时,Google Auth页面会使用访问令牌重定向,但用户又重定向到登录页面。

所以我的问题是,为什么身份验证失败,如果不是,那么为什么将用户重定向到登录页面。我可以感觉到这可能与cookie创建有关。谢谢

0 个答案:

没有答案