Passport的文档说its req.logout
function will destroy any existing session and other passport/user data
我遇到了一个问题,当我req.logout()
时,确实会破坏会话,但如果我回到/auth/google
我会立即再次登录,因为Google本身似乎记得我凭证。
如何使用Google Passport清除凭据?
答案 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服务退出),也让用户在他们的帐户之间进行选择。
希望这仍然有帮助:)