如何使用本地主机测试 Facebook 登录
How to test Facebook login with localhost
我正在使用 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
}
然后你可以在一些浏览器中打开https://dev.yourdomain.com
,比如Firefox、Safari、Brave等(我认为Chrome默认阻止了自签名SSL站点)
更新 我在这里创建了一个更详细的注释
https://gist.github.com/ralavay/5d74d35859f87d22c74984488f20186c
我正在使用 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
}
然后你可以在一些浏览器中打开https://dev.yourdomain.com
,比如Firefox、Safari、Brave等(我认为Chrome默认阻止了自签名SSL站点)
更新 我在这里创建了一个更详细的注释
https://gist.github.com/ralavay/5d74d35859f87d22c74984488f20186c