Javascript 无法使用gapi.auth.signOut注销
我正在我的网络应用AngularJS中集成Google社交登录。我无法注销该用户。 以下是我略为简化的方法- 情景1。首次用户- 我有自己的按钮,单击该按钮可加载页面“X”。此页面将用户重定向到Google登录和/或应用程序权限批准页面。 最后,X将用户返回到我的站点。我收到了通过谷歌登录的信息,现在我必须通过gapi登录,以便以后可以注销 登录可以通过两种方式实现- gapi.auth.authorize with immediate:true或 带有“immediate”的gapi.auth.sign:true 我两者都试过了。两者都不起作用。第二个缺点是浏览器显示弹出窗口被阻止 然后有一个注销按钮,它调用gapi.auth.signOut并加载页面“Y”。 页面Y返回到我的站点,场景2被触发,如下所示,加载登录页面: 情景2。返回同一浏览器中的用户 使用下面的代码,首先我检查是否有google acess_令牌,这样我就可以尝试通过google登录Javascript 无法使用gapi.auth.signOut注销,javascript,google-api-js-client,Javascript,Google Api Js Client,我正在我的网络应用AngularJS中集成Google社交登录。我无法注销该用户。 以下是我略为简化的方法- 情景1。首次用户- 我有自己的按钮,单击该按钮可加载页面“X”。此页面将用户重定向到Google登录和/或应用程序权限批准页面。 最后,X将用户返回到我的站点。我收到了通过谷歌登录的信息,现在我必须通过gapi登录,以便以后可以注销 登录可以通过两种方式实现- gapi.auth.authorize with immediate:true或 带有“immediate”的gapi.auth
gapi.auth.authorize({
client_id: self.googleAppId,
immediate: true,
scope: ['https://www.googleapis.com/auth/plus.me'],
cookie_policy: window.location.protocol+'//'+window.location.hostname
}, function (response: any) {
console.log(response);
if (response.access_token) {
self.googleLogin(response.access_token);
}
else {
self.loadHome();
}
});
googleLogin加载另一个页面“Z”,该页面重定向回我的原始页面。
Z在URL中向我传递参数,这样我就知道我已经通过Google登录了。我回到场景1
问题是-如果用户已使用gapi.auth.signOut注销,那么为什么场景2中的gapi.auth.authorize会返回访问令牌?
在第二个场景中,我如何区分已登录用户和已注销用户
在第二个场景中,我尝试用gapi.auth.sign替换gapi.auth.authorize。
但这会在我的索引页面加载后立即加载google登录页面。所以我没有进一步探究
请让我知道我哪里出了问题,以及如何解决这个问题