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

我试图设置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文本框,并设置准确的URL,而不仅仅是域:

前:https://my-website.com

后:https://my-website.com/facebookoauth/facebooklogin

(url可能与您的情况不同,请在浏览器的地址栏中检查它)。

这是由于设置了“重定向uri使用严格模式”,该设置被锁定在“Yes”位置。

其他回答

点击这里代码项目! 它的Code项目示例。这对我很有用

在Magento 2社交登录扩展,你必须从面板复制有效OAuth重定向uri,并在developers.facebook.com客户端OAuth设置页面中添加有效OAuth重定向uri字段的链接

Facebook登录->设置->有效的OAuth重定向uri ->插入你的重定向url的域,记住你应该添加“https”或http。 例如:如果你的重定向url是https://xxx.xxx.com/path/callback.do,你只需要输入https://xxx.xxx.com/,对我来说没问题。

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

如果你的游戏没有服务器/站点(例如,如果你像我一样为Gameroom开发)-添加“https://apps.facebook.com/xxxxxxxxxxxxxxxxx”(把你的应用ID改为“xxxxxxxxxxxx”)到“Valid OAuth Redirect uri”。