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

我试图设置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”位置。

其他回答

如果你在Facebook中创建应用时输入了错误的详细信息,通常会发生这种情况。或者你改变了一个现有应用程序的URL ?

你能在这个页面重新检查一下你的APP的设置吗?

https://developers.facebook.com/apps

选择正确的App,点击编辑按钮; 检查url和路径是否正确输入,并指向您安装终极Facebook插件的站点。

我也遇到了同样的问题,它来自一个错误的client_id / Facebook应用程序ID。

你把脸书的应用程序调成“公开”还是“在线”了?当你这样做时,Facebook会创建一个带有新应用ID的新应用。

您可以比较url中的“client_id”参数值与Facebook仪表板中的参数值。

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

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

截至2017-10年。

解决了我的问题。

目前FB呈现这个惊喜。

…app的客户端OAuth设置。确保客户端和Web OAuth登录是在…

要调整的设置位于https://developers.facebook.com/apps/[your_app_itentifier]/fb-login/。

后面的斜杠很重要。它们必须与你的应用程序代码和FB管理设置相匹配。所以这是在你的代码中的某个地方的配置(见下面如何获得一个开发应用程序的任何域名):

{
    callbackURL: `http://my_local_app.com:3000/callback/`, // trailing slash
}

这里

要获取本地Windows机器上应用程序的任何域名,请编辑主机文件。自定义名称可以很好地消除所有这些localhost:8080、0.0.0.0:30303、127.0.0.0:8000等等。因为一些第三方服务,如FB,有时不能让你使用127.0.0.0的名称。

在Windows 10上的hosts文件如下:

C:\Windows\System32\drivers\etc\hosts

备份初始文件,创建一个不同名称的副本(不能在本机Windows CMD。我使用Git for Windows,它有很多Unix命令)

$ cp hosts hosts.bak

在主机中添加这个

127.0.0.1  myfbapp.com # you can access it in a browser http://myfbapp.com:3000
127.0.0.1  www.myotherapp.io # In a browser http://www.myotherapp.io:2020

为了摆脱端口部分:3000设置NGINX为例。