在没有https的localhost上登录facebook

时间:2018-10-09 01:17:28

标签: facebook-javascript-sdk

我知道在SO上有大约一百个问题,但是它们可能都不是与Facebook平台上目前正在发生的事情有关的最新信息。看来关闭SSL的开关已禁用:

enter image description here

可能很难看到,但是“强制HTTPS”切换是灰色的,无法切换。我全力支持在生产环境中实施HTTPS,但是为此目的而针对Facebook API构建的所有人是否真的为此在本地服务器上设置了SSL证书?

4 个答案:

答案 0 :(得分:4)

将此粘贴​​到您的客户端json
"start": "set HTTPS=true&&react-scripts start"

下一个副本,并将其输入到您的网址栏中。
chrome://flags/#allow-insecure-localhost
并将“允许从本地主机加载的资源的无效证书”设置为启用

答案 1 :(得分:2)

测试您的Facebook登录名的最简单方法是使用ngrok,因为您无法再禁用“强制HTTPS”选项:

ngrok.com

我是Linux用户。安装后,只需在您的终端上键入:

ngrok http 80

并自动为您的本地项目创建一个新的https域。您将在终端中看到一个ui界面,您的安全域就是以https://

开头的用户

复制域,并在应用程序的developers.facebook.com中使用它,以查看您的代码是否正确。

如果好的话,请继续,直到将项目托管在安全的域上为止。

有关ngrok.com的更多信息和文档,请参阅: ngrok docs

答案 2 :(得分:1)

  

您仍然可以将HTTP与“ localhost”地址一起使用,但是   仅当您的应用仍处于开发模式时。

您可以将App模式从App Dashboard更改为Development Mode:

enter image description here

在这种模式下,您只能使用Facebook测试用户帐户来测试您的应用程序。您可以从应用程序仪表板获取测试帐户的登录凭据。

请注意,http://localhost重定向仅在开发模式下才自动允许,并且不需要在“有效的OAuth重定向URI”部分中添加。

this Facebook Blog中了解有关此内容的更多信息。

答案 3 :(得分:-2)

此设置需要HTTPS才能进行OAuth重定向,并且它要求和返回或要求访问令牌的Facebook JavaScript SDK调用仅来自HTTPS页面。截至2018年3月创建的所有新应用程序均默认启用此设置,您应计划在2018年10月6日之前迁移所有现有应用程序以仅使用HTTPS URL。

大多数主要的云应用程序主机为您的应用程序提供免费和自动的TLS证书配置。如果您自行托管应用程序或托管服务默认情况下不提供HTTPS,则可以从Let's Encrypt获得针对您域的免费证书。

https://developers.facebook.com/docs/facebook-login/security