我正在使用Google OAuth2 API来管理我的应用程序的用户登录。我已经将其中的大部分工作正常,以便在Angular更改状态时验证Google API的会话。它将成功捕获用户已从应用程序外部注销Google的实例,并强制他们重新进行身份验证,然后才能继续。
我遇到的问题是当用户退出他们的Google帐户然后登录到另一个帐户时。我需要捕获它并根据我们的应用程序的授权用户列表重新检查他们的新Google帐户,并为新用户检索正确的应用程序用户令牌。现在我正在使用:
gapi.auth.checkSessionState({ 'client_id': CLIENT_ID, 'session_state': token },
callback);
我也尝试将session_state
参数设置为null
,但这似乎没有对功能产生影响。它适用于用户完全在应用程序外部退出Google的情况,但如果用户随后在应用程序外部重新登录并尝试在不刷新页面的情况下恢复导航,则它不会注意到Google帐户中的差异否则重置GAPI JS客户端。
我错过了什么吗?如果用户在我的应用程序之外更改了Google帐户,是否还有其他可以查询的API方法或端点会返回不同的结果?
谢谢。