我使用以下内容让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。
如何确保为用户签名允许她在下次登录时再次选择要登录的帐户?
答案 0 :(得分:0)
事实证明,为了完成这项工作,您需要完全撤销访问令牌,使用:
gapi.auth2.getAuthInstance().disconnect()