简体   繁体   中英

Omniauth-facebook login not working

When I try to login in my Rails app using omniauth-facebook, I'm getting the following error. This is when testing on localhost:3000:

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://

I saw this other recent post on SO , but Facebook doesn't seem to be allowing me to change the "Enforce HTTPS for Web OAuth Login" settings in the developer console for this app that I created today. I can change that setting for old apps.

Any ideas on how to fix this or get around it? I'll use HTTPS in production, but just want to be able to use localhost (http) in development.

Running local server in HTTPS mode can be useful many times, not just only for the facebook api.

Though, Rails still do not provide an easy way to run rails server in SSL mode. But there're several ways to achieve that:

Use thin server instead of puma/webrick rails default one

thin server allows you to run your application in SSL mode with a minimum effort:

Edit config/application.rb and add:

config.force_ssl = true

Start thin server:

$ thin start --ssl

See full info about that here: How to enable SSL for Rails development environment in two minutes?

Use http tunnel tools like ngrok

Tools like ngrok allow you to create a tunnel form your localhost to the Internet with ease - it also creates both http:// and https:// endpoints for you:

$ 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    

Copy the generated url (like https://2608e936.ngrok.io and use it to access your local server.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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