Node.js passport google oauth无法注销用户

Node.js passport google oauth无法注销用户,node.js,oauth,oauth-2.0,google-oauth,passport.js,Node.js,Oauth,Oauth 2.0,Google Oauth,Passport.js,我使用passport-google-oauth模块对使用Express.js构建的web应用程序上的用户进行身份验证。注销事件的处理方式如下: app.get('/logout', function(req, res) { console.log("logged out!"); req.logout(); res.redirect('/'); }); 虽然这确实会将用户重定向到登录页面(在/),但我不确定它是否真的会将用户注销。单击注销后,当我在新选项卡中打开Gmai

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

app.get('/logout', function(req, res) {
    console.log("logged out!");
    req.logout();
    res.redirect('/');
});
虽然这确实会将用户重定向到登录页面(在
/
),但我不确定它是否真的会将用户注销。单击注销后,当我在新选项卡中打开
Gmail
时,我仍然在那里登录(不,我以前没有登录过
Gmail
)。我怎样才能解决这个问题?另外,
req.logout()。
当用户使用其Google帐户登录到您的应用程序时,他也会登录到所有Google服务

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

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

但这是一项备受争议的政策,因为如果你已经登录到gmail、YouTube等网站,你将同时从所有谷歌服务中注销。真烦人


有关更多信息,请通过jmort253查看。

这是因为此u的google会话未过期,可以在google端使用此会话

// route for logging out
app.get('/logout', function(req, res) {
    req.session.destroy(function(e){
        req.logout();
        res.redirect('/');
    });
});
它将从应用程序中销毁您的会话。但是,如果你想完全注销,甚至从谷歌帐户,你可以重定向到


地址

请让我知道更多详情