我正在实现Facebook登录,我成功地做到了。该应用程序运行了一个月,效果很好,但在过去的2-3天里,我收到了错误消息"无法加载URL:此URL的域不包括应用程序的域。为了能够加载此URL,请将应用程序的所有域和子域添加到应用程序设置中的"应用程序域"字段中;当我尝试从代码中调用访问令牌时。该应用程序是一个服务器端nodejs应用程序,目前正在开发中,所以我还没有任何域。
Access Token调用(用于在几天前完美工作(
const { data } = await axios({
url: "https://graph.facebook.com/v12.0/oauth/access_token",
method: "GET",
params: {
client_id: keys.APP_ID_GOES_HERE,
client_secret: keys.APP_SECRET_GOES_HERE,
redirect_uri: callBackUrl,
code,
},
});
应用程序设置(在应用程序域字段中,域为localhost。名称和电子邮件等基本字段已填充,其他字段为空((请单击链接查看图片(Facebook应用程序设置。在应用程序域字段中,域为localhost。姓名和电子邮件等基本字段已填写,其他字段为空
Facebook登录设置(请点击链接查看图片(客户端OAuth登录、Web OAuth登陆、强制HTTPS、使用严格模式重定向URI字段被启用,其余字段被禁用或保留为空
我也面临同样的问题。环顾四周,我什么也找不到。所以我联系了facebook开发者的支持。事实证明,几天前有人报告了这个问题,这是他们正在处理的一个错误
该错误具体与以下内容有关:
-
以前,您可以在facebook应用程序设置中将
http://localhost:<PORT>
添加到您的有效OAuth重定向URI中。Facebook对其进行了更改,因此现在当您的应用程序处于开发模式时,本地主机已经被允许(或者应该被允许(。但是,错误在于,即使您将应用程序保持在开发模式,它仍然不允许使用localhost。 -
并且不能手动将其添加到有效OAuth重定向URI中。
所以在他们解决这个问题之前,我们几乎没有选择。