首页 > 解决方案 > 无法在开发中测试 Facebook OAuth,因为“有效 OAuth 重定向 URI”不允许 localhost

问题描述

在 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.

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

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

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

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

标签: facebooklocalhostfacebook-oauth

解决方案


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

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

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

如果您无法将应用程序设置为开发模式,则另一种选择是使用您的hosts文件将域名指向您的本地主机。


推荐阅读