Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 rails 4中的Omniauth配置_Ruby On Rails 4_Configuration_Omniauth Facebook - Fatal编程技术网

Ruby on rails 4 rails 4中的Omniauth配置

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

我正在尝试配置不同的环境,以便测试Facebook登录。生产工作正常,但我在正确的方式包括我的开发证书方面遇到了问题。我正在尝试使用secrets.yml,因为这是我用来存储其他api凭据的

以下是我在初始值设定项omniauth.rb中得到的内容:

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而收到的错误,虽然现在我收到了另一个错误,但我认为这与你的答案无关。如果结果是相关的,我会编辑你的答案。谢谢你的帮助。