【问题标题】:Google OAuth redirect uri can only be 127.0.0.1/authorizeGoogle OAuth 重定向 uri 只能是 127.0.0.1/authorize
【发布时间】:2022-01-08 20:33:29
【问题描述】:

我正在尝试将 Google OAuth 实施到我的项目中,并且我已经在 google 云控制台中配置了项目,设置了 OAuth 客户端机密/ID 以及重定向 uri。

问题是,当谷歌登录弹出时,它会抛出以下错误:

400 重定向_uri_mismatch

只有当我在谷歌云控制台中将授权的重定向 url 设置为不同于

的 uri 时,才会发生这种情况
https://127.0.0.1/authorize

错误:

我添加的重定向 uri:

这是我在 Visual Studio 中的端口设置:

【问题讨论】:

    标签: oauth google-api google-oauth redirect-uri-mismatch


    【解决方案1】:

    redirect_uri_mismatch 是一个非常常见的错误消息。

    重定向 uri 会破坏应用中您希望将授权返回到的端点。此端点必须在谷歌云控制台中正确配置。

    如果您的应用程序发送 https://127.0.0.1/authorize 并且该端点未在谷歌云控制台中配置,则会出现匹配失败。

    最好的解决方案是复制错误告诉您的哪个未匹配的 URL,并将其添加到 Google 云控制台中。请记住,它必须完全匹配 HTTP 与 HTTPS 不同,如果有一个斜杠,你也需要它。它必须完全匹配。

    您需要了解的是它可以与 https://127.0.0.1/authorize 一起使用,因为那是您的代码正在使用的 uri。所以不要改变它。

    此视频将解释错误的原因以及解决方法。 Google OAuth2: How the fix redirect_uri_mismatch error. Part 2 server sided web applications.

    请记住,当您将其发布到生产环境时,您将不允许拥有 localhost 重定向 uri,您需要将其设置为您托管它的域。

    【讨论】:

    • 感谢您的回复顺便说一句。所以,根据你给我的建议,我使用了 redirect_uri_mismatch 指向的 uri,它是 127.0.0.1:57658/authorize 之后,我仍然收到错误,它现在指向另一个端口...... 127.0.0.1:57786/authorize BTW my项目基础 uri 是 localhost:4325
    • 每次我尝试重现错误时,它不匹配的 URl 端口都会发生变化
    • 正如我提到的,它必须完全匹配。您的 IDE 正在更改您的端口。您需要将其设置为使用静态端口运行,因为重定向 uri 需要完全匹配。
    • 所以,我看到有人在您的视频中对此发表了相同的评论,您的回答也一样,但我似乎找不到该选项,我的项目似乎每次移植时都会运行如44325,基本固定。你有什么资源可以让我将端口设置为静态的吗?
    • 你用的是什么IDE?
    猜你喜欢
    • 1970-01-01
    • 2014-06-24
    • 2017-12-10
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 2021-01-31
    • 1970-01-01
    • 2012-06-05
    相关资源
    最近更新 更多