【问题标题】:Cannot test Facebook OAuth in development because 'Valid OAuth Redirect URIs' not allowing localhost无法在开发中测试 Facebook OAuth,因为“有效 OAuth 重定向 URI”不允许 localhost
【发布时间】:2020-10-06 21:22:42
【问题描述】:

在 Facebook 登录设置(Valid OAuth Redirect URIs)中,当我尝试添加 http://localhost:8000/survey 时,我收到以下消息,...,

http://localhost redirects are automatically allowed while in development mode only and do not need to be added here.

因此,当我尝试在我的https://www.facebook.com/v7.0/dialog/oauth?client_id=... URL 上的redirect_uri= 参数中使用http://localhost:8000/survey 进行FB 登录时,我在FB 登录页面上收到以下错误消息:

URL Blocked:此重定向失败,因为重定向 URI 未在应用的客户端 OAuth 设置中列入白名单。确保客户端和 Web OAuth 登录已打开,并将您的所有应用程序域添加为有效的 OAuth 重定向 URI。

好的,...所以我不允许通过将 http://localhost:8000/survey 添加到 Valid OAuth Redirect URIs 来将其列入白名单 - 它说 http://localhost redirects are automatically allowed - 但是当我实际使用本地主机 URL 时,它不是列入白名单。

如何在 localhost/开发环境中测试我的应用程序的 FB 登录? (我对ngrok很熟悉,但除此之外还有其他方法吗?)

【问题讨论】:

  • 我没有问题调用登录对话框,应用程序处于开发模式,并且您提到的 exact 重定向 URI。您是否也相应设置了应用程序域和网站 URL?
  • 当我在 'Valid OAuth Redirect URIs' 中使用我的生产 URI (https) 时,FB 对话框出现得很好,但是当我将 localhost 分配给 redirect_uri 参数时,我仍然得到非来自 FB 的白名单错误。即使我没有将我的生产 URI 放入“应用程序域”框中,只要我将它放在“有效 OAuth 重定向 URI”中,它仍然可以正常工作。迷茫……

标签: facebook localhost facebook-oauth


【解决方案1】:

您引用的第一部分提到了在开发模式下设置的应用程序:

http://localhost 重定向仅在开发模式中自动允许,无需在此处添加。

您可以从 Facebook 网站上应用仪表板的右上角进行切换。更详细的说明在这里:https://developers.facebook.com/docs/apps/managing-development-cycle/#step1

如果您无法将应用设置为开发模式,则您可以使用hosts 文件将域名指向您的本地主机。

【讨论】:

    猜你喜欢
    • 2019-03-21
    • 2017-08-30
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-03
    • 2011-07-12
    相关资源
    最近更新 更多