如何使用 localhost 测试 Facebook 登录
Posted
技术标签:
【中文标题】如何使用 localhost 测试 Facebook 登录【英文标题】:How to test Facebook login with localhost 【发布时间】:2018-05-17 02:39:50 【问题描述】:我正在使用 Django,并希望使用 django-allauth
登录 Facebook。
我很快就登录了 Facebook,并使用 localhost 进行了测试。
但我发现FB登录需要https
在2018年3月之后,所以当我在本地运行服务器中登录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://
这样的错误。
有什么方法可以在 localhost 中测试 fb 登录吗?
【问题讨论】:
你可能想看看这个here 谢谢,但这是关于网址的。我说的是http/https。 FB 现在只限制 https,但在 localhost 是不可能的,对吧? (即使我更改了 localhost url 名称) 不,现在不可能……但你可以试试ngrok.com。这里唯一的问题是每次重新连接时域都会更改。除非您获得高级帐户 哦,谢谢!它对开发环境非常有用。谢谢! 您需要做的就是为 HTTPS 设置您的本地主机。您可以使用自签名证书 - 所有与登录相关的内容都发生在您的浏览器中,因此它不必是完全“有效”的设置,您只需让浏览器接受证书,然后单击通过警告。 【参考方案1】:您可以只使用像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
【讨论】:
以上是关于如何使用 localhost 测试 Facebook 登录的主要内容,如果未能解决你的问题,请参考以下文章
如何将 localhost 与改造结合使用来测试 android 应用程序 kotlin [重复]
在 Flutter 中使用 localhost 并在 iOS 设备上进行测试
如何在开发环境中在 https://localhost 上测试我的 ASP.NET 页面? [复制]
如何测试从 Flutter 应用程序到 localhost 服务的 api 调用?