让我首先说,我已经寻找这个问题的答案很长一段时间了……

我试图设置Facebook OAuth与我的应用程序,这是在我的机器上本地开发。Facebook授权的一切都很完美,直到我从使用localhost转移到另一个域名(仍然是我机器的本地域名)。现在我得到如下错误。

不能加载URL:这个URL的域不包括在应用程序的 域。要加载此URL,请添加所有域和子域 在你的应用程序设置的应用程序域字段。

我的hosts文件包含127.0.0.1 domain.dev(完美工作)

我的重定向在我的应用程序(使用Socialite)是http://domain.dev/auth/facebook/callback

在我的Facebook应用程序设置…

我的应用域名是Domain .dev 我的网站网址是http://domain.dev/ 我的有效OAuth重定向uri是 http://domain.dev/auth/facebook/callback

出现错误消息时的URL是..

https://www.facebook.com/v2.5/dialog/oauth?client_id=XXXXXXXXXXXXXXX&redirect_uri=http%3A%2F%2Fdomain.dev%2Fauth%2Ffacebook%2Fcallback&scope=email&response_type=code&state=0ztcKhmWwFLtj72TWE8uOKTcf65JmePtG95MZLDD

我不知道问题出在哪里。

屏幕截图1

屏幕截图2


当前回答

为了帮助其他人,当“有效OAuth重定向uri”成为强制性时,我在一个旧站点上开始遇到这种情况。该站点仍然使用V4 PHP SDK,通过升级到V5 SDK,我解决了这个问题。

其他回答

Facebook最近禁用了“使用严格模式重定向URI”的切换按钮,所以当你点击登录按钮时,你需要添加确切的URI。对于我的案例,它如截图所示。 它为我解决了这个问题:)

直到我更新了我所使用的SDK版本,我才发现这些都不适合我。我从5.0开始。即使是5.4.0也不行。当我更新到5.6.2时,它完美地工作了,尽管在更改日志中没有任何相关的内容!

在我的情况下,我要做的只是启用嵌入式浏览器OAuth登录

随着facebook收紧登录程序,问题和答案也在不断变化。今天,我开始收到这个可怕的消息“这个URL的域名不包括在应用程序的域名中。要加载此URL,请将应用程序的所有域和子域添加到应用程序设置中的应用程序域字段。”

答案是:现在FB想要完整的重定向uri。所以对我来说,以前只是https://www.example.com,现在想要https://www.example.com/auth/facebook/callback。这必须进入“有效的OAuth重定向uri”字段(开发者/Facebook登录->设置)

这个选项应该在门户中启用: