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

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


当前回答

同样的Facebook错误也发生在我的生产环境中。原因是我在Facebook上注册了2个应用(Local和Production),但我将Local应用ID硬编码到源代码中,并忘记在部署前将其转换为Production应用ID。

最佳实践表明,你不应该将应用ID硬编码到源代码中,但如果你这样做了,也不要像我错误地那样不匹配你的各种Facebook应用ID。

其他回答

同样的Facebook错误也发生在我的生产环境中。原因是我在Facebook上注册了2个应用(Local和Production),但我将Local应用ID硬编码到源代码中,并忘记在部署前将其转换为Production应用ID。

最佳实践表明,你不应该将应用ID硬编码到源代码中,但如果你这样做了,也不要像我错误地那样不匹配你的各种Facebook应用ID。

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

如果您正在使用AWS Cognito,则在Facebook Login ->设置中添加URL https://<your-user-pool-domain>/oauth2/idpresponse到有效OAuth重定向uri

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

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

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

第一步: 使用所有https://example.in或ssl证书URL, 不要使用http://example.in

第二步: facebook应用程序设置->基本设置->添加您的域或子域

第三步: >有效的OAuth重定向uri ->添加您的所有重定向url登录后

第四步: facebook应用程序设置->高级设置->域管理器->添加您的域名

所有这些步骤都使用你的应用id,应用版本,应用秘密来设置吗