Passport不会破坏Google的身份验证会话

时间:2015-03-03 21:27:59

标签: node.js session express

Passport的文档说its req.logout function will destroy any existing session and other passport/user data

我遇到了一个问题,当我req.logout()时,确实会破坏会话,但如果我回到/auth/google我会立即再次登录,因为Google本身似乎记得我凭证。

如何使用Google Passport清除凭据?

2 个答案:

答案 0 :(得分:0)

您无法控制Google(或任何其他身份验证提供商)的会话Cookie。您可以尝试将用户重定向到Google的退出页面。

以这种方式考虑,当我退出您的网站时,我不希望也会退出Google。

答案 1 :(得分:0)

我知道这是一个相当古老的问题,但我和你的情况相同,并且跟随@idbehold comment我实现了,不是记录用户的Google帐户,而是强迫 / google / auth 选择一个帐户:

app.get('/auth/google', passport.authenticate('google', {
    scope: [
        'https://www.googleapis.com/auth/userinfo.profile',
        'https://www.googleapis.com/auth/userinfo.email'
    ],
    prompt: 'select_account'
}));

有了这个,我避免将它们重定向到Google的退出页面(因此,不会从每个Google服务退出),也让用户在他们的帐户之间进行选择。

希望这仍然有帮助:)

相关问题