退出后,Google Auth不允许选择帐户

时间:2015-09-11 16:47:24

标签: google-api google-api-client

我使用以下内容让Google用户对我的应用进行身份验证,以访问其日历和基本配置文件:

gapi.auth2.getAuthInstance().signIn({scope: 'profile https://www.googleapis.com/auth/calendar.readonly'});

有问题的AuthInstance在bootstrap中以这样的方式启动:

var googleAuth = gapi.auth2.init({
    'client_id': 'XXX',
    'immediate': false,
    'cookie_policy': 'single_host_origin',
    'scope': 'https://www.googleapis.com/auth/calendar.readonly'
});

以上工作正常 - 用户获取一个窗口,提示她选择并登录其中一个Google帐户,并且在此之后可以进行经过身份验证的请求。

但是,如果用户退出,请使用以下内容:

gapi.auth2.getAuthInstance().signOut();

然后尝试再次登录,窗口将自动打开,关闭并使用她之前登录的帐户自动登录。即使刷新页面,这仍然存在,唯一的解决方案是清除cookie。

如何确保为用户签名允许她在下次登录时再次选择要登录的帐户?

1 个答案:

答案 0 :(得分:0)

事实证明,为了完成这项工作,您需要完全撤销访问令牌,使用:

gapi.auth2.getAuthInstance().disconnect()