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