繁体   English   中英

Omniauth-facebook登录无法正常工作

[英]Omniauth-facebook login not working

当我尝试使用omniauth-facebook登录我的Rails应用程序时,我收到以下错误。 这是在localhost:3000上测试的时候:

不安全的登录被阻止:您无法从不安全的页面获取访问令牌或登录此应用程序。 尝试将页面重新加载为https://

在SO上看到了最近的另一篇文章 ,但Facebook似乎并没有允许我在今天创建的这个应用程序的开发者控制台中更改“为Web OAuth登录强制HTTPS”设置。 我可以更改旧应用的设置。

关于如何解决这个问题或绕过它的任何想法? 我将在生产中使用HTTPS,但只是希望能够在开发中使用localhost(http)。

以HTTPS模式运行本地服务器可能很多次,不仅仅适用于facebook api。

虽然,Rails仍然没有提供在SSL模式下运行rails服务器的简单方法 但有几种方法可以实现这一目标:

使用thin服务器而不是puma / webrick rails默认值

thin服务器允许您以最少的工作量以SSL模式运行应用程序:

编辑config/application.rb并添加:

config.force_ssl = true

启动thin服务器:

$ thin start --ssl

请参阅此处的完整信息: 如何在两分钟内为Rails开发环境启用SSL?

使用像ngrok这样的http隧道工具

ngrok这样的工具允许您轻松地创建从本地主机到Internet的隧道 - 它还为您创建http://https://端点:

$ rails s -p 3000
$ ./ngrok http 3000

ngrok by @inconshreveable                                                                                                                                            (Ctrl+C to quit)

Session Status                online                                                                                                                                                 
Session Expires               7 hours, 59 minutes                                                                                                                                    
Version                       2.2.8                                                                                                                                                  
Region                        United States (us)                                                                                                                                     
Web Interface                 http://127.0.0.1:4040                                                                                                                                  
Forwarding                    http://2608e936.ngrok.io -> localhost:3000                                                                                                             
Forwarding                    https://2608e936.ngrok.io -> localhost:3000    

复制生成的URL(如https://2608e936.ngrok.io并使用它来访问本地服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM