没有提示使用OAUth2重新进行身份验证。为什么以及如何强迫它?

时间:2013-10-15 11:04:17

标签: google-oauth

我想了解一些事情。 我有一个基于oAuth2和Google帐户的应用程序。

所以,首次连接到此网站时,我被重定向到Google域上的身份验证页面。所以我输入我的电子邮件和密码,我不检查“可信计算机”(或“记住我”,我不记得确切的术语)。

问题是如果我重新启动计算机甚至删除我的cookie(但不是我的历史记录(在Android手机上使用Chrome测试),我不会再次提示我进行身份验证,我可以直接访问该应用程序。

我想明白为什么? 如果有人能向我解释这应该是伟大的!

谢谢

3 个答案:

答案 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并撤消权限。那应该会导致重复提示。