【问题标题】:Django allauth google OAuth redirect_uri_mismatch errorDjango allauth google OAuth redirect_uri_mismatch 错误
【发布时间】:2019-07-14 01:30:11
【问题描述】:

我正在为我的 Django 应用程序使用 Google OAuth(通过 allauth 包)

我已遵循所有标准配置步骤。在 Google 开发者控制台中,我拥有以下内容:

授权的 JavaScript 来源

https://example.com  

授权的重定向 URI

https://example.com/accounts/google/login/callback/ - login fails
http://example.com/accounts/google/login/callback/ - login succeeds

我观察到,如果我在授权重定向 URI 中有一个 https 重定向 URL,它不允许登录,并且会失败并出现 redirect_uri_mismatch 错误。如果我有一个 http 重定向 URL,则登录成功。

我需要做什么才能拥有启用 https 的重定向 URL?

【问题讨论】:

    标签: django django-allauth


    【解决方案1】:

    在生产 settings.py 中添加以下内容为我解决了这个问题:

    ACCOUNT_DEFAULT_HTTP_PROTOCOL='https'

    【讨论】:

    • 谢谢。不知何故,相同的代码适用于我的本地主机,但在生产中失败,这是让我摆脱它的修复
    • 给你一个赏金让你超过 1k 点。我说谢谢的方式。忘了补充说我的社交提供者是 GitHub,所以你的 QnA 是同样的问题,对我来说也是同样的修复
    • 你在哪里找到这个设置?
    【解决方案2】:

    **这对我有用

    1. 转到https://console.developers.google.com
    2. 添加不带端口http://127.0.0.1/accounts/google/login/callback/
    3. 同时添加 http://localhost/accounts/google/login/callback/
    4. 查看链接中的图片了解详情

    See image by opening link

    【讨论】:

    • 请在 urls.py 中检查您的网址
    【解决方案3】:

    就我而言,问题出在以下几点:

    1. 我的网站将访问权限切换为仅 HTTPS 连接,而在 Google API 仪表板中为 http://profile.example.com/accounts/google/login/callback/
    2. 所以,我改变了: 从http -> https 开始工作正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-09
      • 2015-04-03
      • 2020-11-08
      • 2021-06-14
      • 2012-07-14
      • 1970-01-01
      相关资源
      最近更新 更多