Google 从 Google 注销后,oAuth 不会使令牌字符串无效
Google oAuth doesn't invalidate token string after log out from Google
我使用 Google oAuth 登录我的网站。这对于登录非常有效。但它不适用于注销。
我在下面做,
- 从 Google API
获取 idTokenString
- 在我的会话中保留它
- 通过 GoogleIdTokenVerifier
为每个请求验证此令牌
当用户执行以下操作时 google 不会使令牌无效,而是发送成功响应。
- 用户登录Google
- 通过允许访问访问我的网站
- 用户从 google
注销
- 用户访问我的网站,
- 我的系统发送令牌进行验证。
- Google 给我 idToken,所以我的系统允许用户访问我的网站
当用户关闭浏览器并返回时,令牌失效,我的系统不允许。但是在不关闭浏览器的情况下它不起作用
这是预期的行为。如果用户正在注销 google,它也不会从您的应用程序注销。
但是,如果您想从您的应用程序注销用户并希望 google 也被注销,则有一个解决方法。您只需以编程方式清除浏览器中的所有 cookie,或者您可以从他们的 Google 服务注销按钮之一动态构建注销 url,然后使用 img 元素或脚本标记调用它你的申请。
<script type="text/javascript"
src="https://mail.google.com/mail/u/0/?logout&hl=en" />
或
<img src="https://mail.google.com/mail/u/0/?logout&hl=en" />
或
window.location = "https://mail.google.com/mail/u/0/?logout&hl=en";
我使用 Google oAuth 登录我的网站。这对于登录非常有效。但它不适用于注销。
我在下面做,
- 从 Google API 获取 idTokenString
- 在我的会话中保留它
- 通过 GoogleIdTokenVerifier 为每个请求验证此令牌
当用户执行以下操作时 google 不会使令牌无效,而是发送成功响应。
- 用户登录Google
- 通过允许访问访问我的网站
- 用户从 google 注销
- 用户访问我的网站,
- 我的系统发送令牌进行验证。
- Google 给我 idToken,所以我的系统允许用户访问我的网站
当用户关闭浏览器并返回时,令牌失效,我的系统不允许。但是在不关闭浏览器的情况下它不起作用
这是预期的行为。如果用户正在注销 google,它也不会从您的应用程序注销。 但是,如果您想从您的应用程序注销用户并希望 google 也被注销,则有一个解决方法。您只需以编程方式清除浏览器中的所有 cookie,或者您可以从他们的 Google 服务注销按钮之一动态构建注销 url,然后使用 img 元素或脚本标记调用它你的申请。
<script type="text/javascript"
src="https://mail.google.com/mail/u/0/?logout&hl=en" />
或
<img src="https://mail.google.com/mail/u/0/?logout&hl=en" />
或
window.location = "https://mail.google.com/mail/u/0/?logout&hl=en";