首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >护照-google-oauth无法注销用户

护照-google-oauth无法注销用户
EN

Stack Overflow用户
提问于 2014-08-27 04:58:51
回答 2查看 8K关注 0票数 4

我使用passport-google-oauth模块在我使用Express.js构建的web应用程序上对用户进行身份验证。注销事件的处理方式如下:

代码语言:javascript
复制
app.get('/logout', function(req, res) {
    console.log("logged out!");
    req.logout();
    res.redirect('/');
});

虽然这确实将用户重定向到登录页面(在/),但我不确定它是否真的将他注销。单击注销后,当我在一个新选项卡中打开Gmail时,我仍然在那里登录(不,我之前没有登录到Gmail )。我怎么才能解决这个问题?另外,req.logout()是如何登录用户的呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-27 10:14:34

这是完全正常的。当用户使用他的Google帐户登录到您的应用程序时,他也会登录到所有的Google。

req.logout()只销毁用户登录时由Passport创建的会话。该会话只链接到您的应用程序,而不是整个用户的Google配置文件。

如果你也想从他的Google帐户中注销用户,你必须通过点击按钮或类似的方式将他重定向到https://accounts.google.com/logout

但这是一个非常有争议的政策,因为,如果你已经登录到gmail,YouTube等.,你将同时退出所有的谷歌服务。很烦人。

有关更多信息,请查看this great answer by jmort253。

票数 8
EN

Stack Overflow用户

发布于 2015-05-27 08:06:03

这是因为谷歌的会话还没有到期,所以你可以在谷歌端使用这个会话。

代码语言:javascript
复制
// route for logging out
app.get('/logout', function(req, res) {
    req.session.destroy(function(e){
        req.logout();
        res.redirect('/');
    });
});

它会破坏你的会话从应用程序。但是,如果您想完全注销,即使是从google帐户,您可以重定向到

https://mail.google.com/mail/u/0/?logout&hl=en

地址

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25519179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档