我想了解一些事情。 我有一个基于oAuth2和Google帐户的应用程序。
所以,首次连接到此网站时,我被重定向到Google域上的身份验证页面。所以我输入我的电子邮件和密码,我不检查“可信计算机”(或“记住我”,我不记得确切的术语)。
问题是如果我重新启动计算机甚至删除我的cookie(但不是我的历史记录(在Android手机上使用Chrome测试),我不会再次提示我进行身份验证,我可以直接访问该应用程序。
我想明白为什么? 如果有人能向我解释这应该是伟大的!
谢谢
答案 0 :(得分:10)
您可以将&max_auth_age=0
传递给身份验证网址,从而强制在Google OAuth API中重新进行身份验证。
来源:
使用PAPE扩展进一步控制用户身份验证(可选) 使用PAPE扩展中的max_auth_age参数可确保Google用户的登录会话是最近的。您也可以指定max_auth_age = 0来强制重新密码。
https://developers.google.com/accounts/docs/OpenID
这有点令人困惑,因为他们谈论OpenID,但我正在使用Google提供的OAuth2库成功地做到这一点。
答案 1 :(得分:2)
Google OAuth 2 API实际上并没有为您提供强制重新验证的方法。很多人已经要求这种能力,也许我们应该提供它。
答案 2 :(得分:1)
很难说,因为它取决于流程的执行情况。
通常(使用oauth),系统不会提示您进行身份验证。系统会提示您进行授权。一旦您获得授权,您将不会再次被提示,前提是浏览器/谷歌存在某种识别用户的会话。
当你说“删除我的cookie”时,哪个cookie?
哟可以尝试转到此页https://accounts.google.com/b/0/IssuedAuthSubTokens?hl=en_GB并撤消权限。那应该会导致重复提示。