Ruby on rails 4 rails 4中的Omniauth配置
我正在尝试配置不同的环境,以便测试Facebook登录。生产工作正常,但我在正确的方式包括我的开发证书方面遇到了问题。我正在尝试使用secrets.yml,因为这是我用来存储其他api凭据的 以下是我在初始值设定项omniauth.rb中得到的内容:Ruby on rails 4 rails 4中的Omniauth配置,ruby-on-rails-4,configuration,omniauth-facebook,Ruby On Rails 4,Configuration,Omniauth Facebook,我正在尝试配置不同的环境,以便测试Facebook登录。生产工作正常,但我在正确的方式包括我的开发证书方面遇到了问题。我正在尝试使用secrets.yml,因为这是我用来存储其他api凭据的 以下是我在初始值设定项omniauth.rb中得到的内容: Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_SEC
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_SECRET'],
:scope => 'email,user_location'
end
在my secrets.yml文件中:
development:
FACEBOOK_APP_ID: mytestappid
FACEBOOK_SECRET: mytestsecretkey
production:
FACEBOOK_APP_ID: <%= ENV["FACEBOOK_APP_ID"] %>
FACEBOOK_SECRET: <%= ENV["FACEBOOK_SECRET"] %>
开发:
FACEBOOK应用程序ID:mytestappid
FACEBOOK_秘密:mytestsecretkey
制作:
FACEBOOK\u应用程序\u ID:
FACEBOOK的秘密:
我尝试将初始值设定项中的“配置”更改为“机密”,但没有成功。我怀疑这与中间件有关,但我不确定。有人能帮我指出正确配置的方向吗?我用heroku设置配置变量
非常感谢 您没有读取机密文件。将omniauth.rb更改为:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, Rails.application.secrets.FACEBOOK_APP_ID, Rails.application.secrets.FACEBOOK_SECRET,
:scope => 'email,user_location'
end
PS:有必要在更改后重新启动服务器我的答案真的有效吗?什么都不改变?在第一次尝试时,情况就变得很奇怪。嗨,丹尼尔-它删除了我因为没有应用程序ID而收到的错误,虽然现在我收到了另一个错误,但我认为这与你的答案无关。如果结果是相关的,我会编辑你的答案。谢谢你的帮助。