Typ*_*ina 6 oauth oauth-2.0 google-oauth
简短的介绍:
如果用户已经授予我的应用程序对其 google 个人资料的 OAuth 访问权限,我希望他们不必在每次登陆我的主页并自动登录时按“使用 google 登录”按钮。
如果用户尚未授予访问权限,我想向他们展示带有“使用谷歌登录”按钮的登录选项页面。
详细描述:
我正在按照此链接所述实施 Google OAuth 流程:
为了清楚起见,相关流程如下:
我想实现以下目标:
如果用户之前已经允许我的应用程序访问他们的 google 个人资料(无论是在当前计算机上还是其他计算机上),我希望他们在导航到我的应用程序的 URL 后立即产生登录到我的应用程序(使用 google)的印象。无需点击任何东西。
乍一看这不是问题。为了实现这一目标,我将自动执行上述流程的步骤 1 和 2。用户导航到应用程序的 URL 后,将自动重定向到 google oauth 服务器,而无需按“使用 google 登录”按钮。谷歌反过来立即将用户重定向回我的应用程序并提供有效的授权(同样不需要用户输入任何内容)。其余部分保持不变。用户会有立即登录的印象。
但这种方法有一个问题。如果用户第一次访问我的页面(之前没有授予我的应用程序访问权限),他们也会被重定向到 google OAuth 页面。但由于他们还没有授予访问权限,也没有按下任何登录按钮,他们最终会盯着 google oauth 服务器页面,困惑不解,不知道发生了什么。
是否有一些 API,通过它我可以检测到用户尚未授予对我的应用程序的访问权限(我应该首先向他提供“唱入”按钮)?
如果您的解决方案涉及一些 API 调用,请向我指出 HTTP/REST API,因为我不使用(也不想使用)任何更高级别的 OAuth 库。
谢谢。
将“prompt=none”参数添加到您的初始 OAuth 重定向。这样,如果用户尚未登录或未授予您的应用程序权限,谷歌将不会阻止。
请参阅http://openid.net/specs/openid-connect-core-1_0.html#AuthRequest第 3.1.2.1 章
其他可能的“提示”值的简短摘要:
| 归档时间: |
|
| 查看次数: |
4812 次 |
| 最近记录: |