使用Google OAuth登录用户后-是否可以检查以后的用户是否从Google注销?
场景:
Google
mysite.com
登录Google OAuth
,登录状态在会话中存储了1年。Google
注销,但忘记了从mysite.com
退出Google
,但将能够重新使用mysite.com
上已登录的用户会话我想知道如何预防这种情况?
我不想给用户带来负担-从mysite.com
注销用户,并要求每天再次登录。
将改为使用自动的东西,例如:
google.com/api/is-original-session-still-active?id=ID
答案 0 :(得分:1)
注意:我怀疑您的术语不正确,我怀疑您是在使用Openid connect而不是OAuth2来登录用户。但是我会基于Oauth2回答这个问题,因为这就是您所说的。
Oauth2
Oauth2用于授予应用程序对用户数据的访问权限。使用oauth2令牌时,您代表用户。使用Oauth2令牌时,实际上没有用户交互。
如果用户同意您的应用程序访问其数据,则将获得访问令牌和刷新令牌。访问令牌可以使用一个小时。刷新令牌的寿命很长,只要用户不删除您的同意并且您至少每六个月使用一次,就可以使您访问用户数据。
由于Oauth2没有用户交互,因此无法使用它来查看用户是否已登录其帐户。实际上,没有Google API可以为您提供此信息。这将IMO视为私人用户信息,而不是google应该与第三方应用程序共享的信息。
建议
您可能需要考虑对应用程序进行一些更改。
答案 1 :(得分:1)
要专门了解可能会影响应用程序用户的用户帐户安全事件(如果您的应用程序使用Google登录),请考虑注册您的应用程序以接收跨帐户保护事件[1]。