【问题标题】:Google OAuth 2.0 redirect_uri_mismatch errorGoogle OAuth 2.0 redirect_uri_mismatch 错误
【发布时间】:2014-02-09 02:07:12
【问题描述】:
  1. 我在 Google Developer 控制台中创建了 Google OAuth 2.0 ClientIDsecret

  2. 之后,我在 Google OAuth 游乐场 (https://developers.google.com/oauthplayground) 进行了测试。 并注册了上面已经创建的ClientIDsecret,并应用于Google OAuth 2.0 Playground设置菜单。

  3. 有人说创建ClientID/secret后需要一些时间进行测试。所以两天后我尝试在相同的条件下进行测试,但错误是相同的redirect_uri_mismatch

我该如何解决这个问题?

【问题讨论】:

  • 好吧,他们匹配吗?一个字符一个字符,包括协议和斜杠?有时 API 控制台需要启动,因此请尝试进行更改(例如添加第二个重定向 URL)
  • 还要检查子域。我错过了一个 www。

标签: url redirect http-headers google-oauth mismatch


【解决方案1】:

只要在你的 uri 末尾有一个“/”而在你的代码末尾没有相同的“/”就会把它扔掉。

【讨论】:

    【解决方案2】:

    您的site URL 和开发者控制台中的Authorized redirect URIs 应该完全匹配。

    如果一个 URL 具有 www (http://www.example.com) 而另一个 URL 是 non-www (http://example.com),则会发生这种错误。

    其他常见的 URI 不匹配是:

    • 在授权重定向 URI 中使用 http://,在实际 URL 中使用 https://,反之亦然
    • 在授权重定向 URI 中使用斜杠 (http://example.com/) 而不是使用斜杠 (http://example.com) 作为实际 URL,反之亦然

    这是在 Google Developer Console 中更新授权重定向 URI 的分步过程(带有屏幕截图)(适用于像我这样难以访问该页面的人)。

    1. 转到https://console.developers.google.com

    2. 选择您的项目

    1. 点击菜单图标

    1. 点击API Manager菜单

    1. 点击Credentials 菜单。在OAuth 2.0 Client IDs 下,您会找到您的客户名称。就我而言,它是Web Client 1。单击它,将出现一个弹出窗口,您可以在其中编辑 Authorized Javascript OriginAuthorized redirect URIs

    这是一篇关于 creating project and client ID 的 Google 文章。

    【讨论】:

      【解决方案3】:

      它应该与您在 console.developers.com 中给出的完全匹配。

      就我而言,我错过了网址中的 www。

      例如:你给了http://www.google.com,但在console.developers.com你给了http://google.com

      它仍然会抛出错误。所以应该是完全匹配的。

      【讨论】:

        【解决方案4】:

        必须在Google APIs console 中注册重定向 URI(OAuth 响应返回的位置),错误表明您没有这样做,或者没有正确完成。

        转到您的项目的控制台并在 API 访问下查看。您应该在那里看到您的客户端 ID 和密码,以及重定向 URI 列表。如果未列出所需的 URI,请单击编辑设置并将 URI 添加到列表中。

        【讨论】:

        • 在新的 Google Cloud 控制台中,我没有看到任何重定向 URL,甚至在一个地方添加它们
        • APIs & auth >> 凭证。在 OAuth 下,单击编辑设置。第二个字段是重定向 URI。
        • @derpface 最新控制台上没有“编辑设置”(2015 年 9 月)
        • @Dan OAuth 2.0 客户端 ID 的名称是一个链接。单击它,它会将您带到编辑屏幕。让您想知道 Google 的 UI 人员是否听说过最不意外的原则。 (2015 年 9 月)
        • 转到APIs & auth > Credentials 然后Add credentials > OAuth 2.0 Client ID 然后专门选择Web application 然后它应该有Authorized redirect URIs 的位置。我的旧型号是other,没有Authorized redirect URIs
        【解决方案5】:

        我一直收到同样的错误,直到我意识到我需要将“signin-google”放在 Google API 控制台中重定向设置的末尾,就像这样(即,不是 http://www.example.org/api):

        http://www.example.org/api/signin-google
        

        【讨论】:

          【解决方案6】:

          (Magento 1.*)如果您使用 inchoo Social Connect Magento 扩展,则:

          • 在您的 Google 应用中设置以下网址(OAuth 2.0 客户端 ID):
            1. 授权重定向 URI:http://www.example.com/socialconnect/google/connect/
            1. 授权的 JavaScript 来源:http://www.example.com

          别忘了用你的域名替换http://www.example.com

          【讨论】:

            【解决方案7】:

            请确保在您的 google-client-api 中,这些字段中的凭据值与您从 Google API console 获得的值匹配:

            $client->setClientId('xxx.apps.googleusercontent.com');
            $client->setClientSecret('xxx');
            $client->setRedirectUri('http://example.com/oauth2callback');
            $client->setDeveloperKey('xx');
            

            当 setRedirectUri 的值与您在 Google API 控制台中设置的值不同时,可能会发生这种情况。

            【讨论】:

              猜你喜欢
              • 2015-04-03
              • 2020-11-08
              • 2021-11-05
              • 2016-02-21
              • 1970-01-01
              • 2021-06-28
              • 2021-11-13
              • 1970-01-01
              • 2019-07-14
              相关资源
              最近更新 更多