簡體   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