我正在使用 Django,并且想要使用
django-allauth
来登录 Facebook。
我用了很少的时间就登录了Facebook,并用localhost进行了测试。
但是我发现2018年3月后FB登录需要
https
,所以当我在本地runserver登录fb时,它会出现类似Insecure Login Blocked: You can't get an access token or log in to this app from an insecure page. Try re-loading the page as https://
的错误。
有什么方法可以在本地主机中测试fb登录吗?
您可以使用像
dev.yourdomain.com
这样的真实子域,并将其 DNS 指向 127.0.0.1
(或者可以使用 lvh.me
域,因为它也指向 127.0.0.1 - 但如果您始终信任它们)
然后你需要一个层来在本地处理
HTTPS
的https://dev.yourdomain.com
。我推荐https://caddyserver.com/
通过像这样非常简单的配置,Caddy 可以使用其自签名 SSL 证书(查看 Caddy 文档以获取详细信息)
dev.yourdomain.com:443 {
tls self_signed
proxy / localhost:8080
}
然后你可以在Firefox、Safari、Brave等浏览器中打开
https://dev.yourdomain.com
(我认为Chrome默认阻止了自签名SSL网站)
更新我在这里创建了一个包含更多详细信息的注释
https://gist.github.com/ralavay/5d74d35859f87d22c74984488f20186c
我正在尝试在本地主机上使用 facebook 测试此登录功能,但它无法正常工作,显示以下错误。
Facebook 检测到测试应用程序未使用安全连接来传输信息。 在测试应用程序更新其安全设置之前,您将无法使用 Facebook 登录它。