当用户登录多个Google帐户时,我遇到了问题。
我的应用程序有一个带有Google+登录按钮的登录页面。
用户单击该按钮并授权该应用程序。
正确触发signinCallback。该应用程序然后呈现一个新页面,其中有一个隐藏的登录按钮(允许用户退出)。呈现此页面时,将再次触发signinCallback,但错误字段中包含“user_signed_out”。状态包含:
google_logged_in: true
method: null
signed_in: false
我没有看到处理此错误的方法。
还有其他人遇到过这个问题吗?
答案 0 :(得分:0)
我认为你并没有撤销你请求的访问令牌。如果你使用javascript使用这个。撤消访问令牌将允许您为其他用户请求另一个令牌。
var revokeUrl = 'https://accounts.google.com/o/oauth2/revoke?token=' + access_token;
$.ajax({
type: 'GET',
url: revokeUrl,
async: false,
contentType: "application/json",
dataType: 'jsonp',
success: function(nullResponse) {
//do logout call back here
},
error: function(e) {
console.log(e);
}
});
答案 1 :(得分:0)
问题似乎是虽然我在两个页面上都包含了 A 登录按钮,但它不是相同的登录按钮。似乎当用户最初登录时,该状态将保存在该页面上的登录按钮 中。因此,当应用程序使用该登录按钮导航离开页面时,会发生奇怪的事情。由于同一问题,我遇到的另一个问题是用户无法退出。
答案 2 :(得分:0)
答案 3 :(得分:0)
当我执行以下操作时,我在测试网站上遇到了完全相同的问题
testsite.com
然而,当我把它改成www.testsite.com时,它完美而完美地工作。请确保你们拥有合适的子域名。