【发布时间】:2019-03-11 07:35:28
【问题描述】:
用户使用 Google OAuth 登录后 - 是否可以检查以后的用户是否从 Google 注销?
场景:
- 用户登录
Google - 用户使用
Google OAuth登录mysite.com,登录状态在会话中存储1 年。 - 用户从
Google注销,但忘记从mysite.com注销 -
一周后,有人偷走了用户的笔记本电脑。小偷将无法使用
Google,但可以重新使用mysite.com上的登录用户会话
不知道有什么办法可以防止这种情况发生?
我不想给用户增加这个负担 - 从mysite.com 注销他并要求每天重新登录。
想改用自动的东西,比如:
- 当您使用 Google OAuth 登录时,您会获得某种 ID
- 每天您都可以通过调用类似 的方法来验证原始会话是否仍处于活动状态
google.com/api/is-original-session-still-active?id=ID
【问题讨论】:
-
不存在从 Open 身份验证中注销的情况。如果您使用 Oauth2 登录您的用户,那么只要用户授予您访问其数据的权限,您就有一个有效的访问令牌和一小时有效的刷新令牌。 oauth2 != openid 连接
-
@DaImTo 谢谢。那么,如果用户将从 Google 中注销 - 刷新令牌会停止工作吗?否则我看不到刷新令牌如何帮助解决问题。我需要知道用户何时从 SAME 浏览器从 Google 注销,而不是何时撤消访问权限。
-
Oauth2 访问权限被授予独立于用户的应用程序。如果用户退出他们的谷歌帐户,刷新令牌将继续工作。谷歌不会告诉你用户是否退出了他们的账户。两者没有任何关系。即使您使用 openid connect 将用户登录到您的应用程序,谷歌也不会告诉您用户是否退出了他们的帐户。
标签: oauth google-oauth