【问题标题】:What is the difference between Google OAuth authorization URLsGoogle OAuth 授权 URL 之间有什么区别
【发布时间】:2019-04-21 13:19:19
【问题描述】:

问题:以下 OAuth 2.0 授权 URL 有什么区别:

在各种文档example 我看到了对这个授权 URL 的引用:

https://accounts.google.com/o/oauth2/auth

在其他文档example 我看到了对这个授权 URL 的引用:

https://accounts.google.com/o/oauth2/v2/auth

这些 URL 用于这样的代码(Python):

authorization_base_url 是上述网址之一。

authorization_url, state = gcp.authorization_url(
                            authorization_base_url,
                            access_type="offline",
                            prompt="select_account",
                            include_granted_scopes='true')

我正在调试另一个 Google OAuth 2.0 刷新令牌问题,我正在尝试澄清确切的解决方案 link。我看到的行为与文档不符。

【问题讨论】:

  • 如果你想要最新的,你应该检查accounts.google.com/.well-known/openid-configuration。根据我的经验,其中一个不适用于所有客户端库。我向 Google Oauth 团队发送了一封电子邮件,很幸运他们会回复您的问题。
  • @DaImTo - 谢谢。还要向 Google 团队提及他们应该将 https://www.googleapis.com/oauth2/v3/tokeninfo 添加到 openid-configuration。我很好奇为什么该端点被排除在该文档之外。
  • 几个月前,当我添加了现在发现文档中的那个时,我通过电子邮件向他们发送了这个问题。我还没有得到具体的答复

标签: oauth-2.0 google-cloud-platform google-oauth google-openid


【解决方案1】:

没有关于差异的文档,但通常它们是同一端点的不同版本。

较新的版本可能会引入改进或改变的行为,尽管在协议和互操作性方面对消费者应该没有区别。它们都符合 OAuth 2.0/OIDC,但在规范中可以实现不同的可选行为。

举个例子:当 Google 端发生错误时,Google 可能会决定停止流程并向用户显示此错误,或者按照 OAuth 2.0 允许的方式向客户端返回错误。两者都是有效的行为,不同版本的授权端点可能会实现不同的风格。

【讨论】:

  • 谢谢。这是我遇到麻烦的确切行为。在我引用的另一个问题中,我收到了一个刷新令牌,用于在 localhost 模式下的实现。当我部署到公共服务器时,我停止接收刷新令牌。我现在正在寻找细节来解决这个问题。
  • 我认为这是两个问题
  • 我不明白你的评论是什么意思。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-14
  • 1970-01-01
  • 1970-01-01
  • 2010-12-31
相关资源
最近更新 更多