Omniauth-facebook 登录不工作
Omniauth-facebook login not working
当我尝试使用 omniauth-facebook 登录我的 Rails 应用程序时,出现以下错误。这是在 localhost:3000:
上测试时
不安全的登录被阻止:您无法从不安全的页面获取访问令牌或登录此应用。尝试将页面重新加载为 https://
我看到了这个 ,但 Facebook 似乎不允许我在开发者控制台中为我今天创建的这个应用程序更改 "Enforce HTTPS for Web OAuth Login" 设置。我可以更改旧应用程序的设置。
关于如何解决或绕过它的任何想法?我将在生产中使用 HTTPS,但只想在开发中使用本地主机 (http)。
运行 HTTPS 模式的本地服务器可以多次使用,而不仅仅是 facebook api.
不过,Rails 仍然 do not provide an easy way 到 运行 rails 服务器处于 SSL 模式。但有几种方法可以实现:
使用thin
服务器代替puma/webrickrails默认服务器
thin
服务器允许您以最小的努力 运行 您的应用程序在 SSL 模式下:
编辑 config/application.rb
并添加:
config.force_ssl = true
启动thin
服务器:
$ thin start --ssl
在此处查看完整信息:How to enable SSL for Rails development environment in two minutes?
使用像 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
并使用它来访问您的本地服务器。
当我尝试使用 omniauth-facebook 登录我的 Rails 应用程序时,出现以下错误。这是在 localhost:3000:
上测试时不安全的登录被阻止:您无法从不安全的页面获取访问令牌或登录此应用。尝试将页面重新加载为 https://
我看到了这个
关于如何解决或绕过它的任何想法?我将在生产中使用 HTTPS,但只想在开发中使用本地主机 (http)。
运行 HTTPS 模式的本地服务器可以多次使用,而不仅仅是 facebook api.
不过,Rails 仍然 do not provide an easy way 到 运行 rails 服务器处于 SSL 模式。但有几种方法可以实现:
使用thin
服务器代替puma/webrickrails默认服务器
thin
服务器允许您以最小的努力 运行 您的应用程序在 SSL 模式下:
编辑 config/application.rb
并添加:
config.force_ssl = true
启动thin
服务器:
$ thin start --ssl
在此处查看完整信息:How to enable SSL for Rails development environment in two minutes?
使用像 ngrok
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
并使用它来访问您的本地服务器。