Omniauth 配置秘密 rails 4
Omniauth configuration in secrets rails 4
我正在尝试配置不同的环境,以便测试 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
这在我的 secrets.yml 文件中:
development:
FACEBOOK_APP_ID: mytestappid
FACEBOOK_SECRET: mytestsecretkey
production:
FACEBOOK_APP_ID: <%= ENV["FACEBOOK_APP_ID"] %>
FACEBOOK_SECRET: <%= ENV["FACEBOOK_SECRET"] %>
我尝试在初始化程序中将 'config' 更改为 'secrets',但这没有用。我怀疑它与中间件有关,但我不确定。谁能帮我指出正确配置的方向?生产仅适用于我使用 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:修改后需要重启服务器
我正在尝试配置不同的环境,以便测试 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
这在我的 secrets.yml 文件中:
development:
FACEBOOK_APP_ID: mytestappid
FACEBOOK_SECRET: mytestsecretkey
production:
FACEBOOK_APP_ID: <%= ENV["FACEBOOK_APP_ID"] %>
FACEBOOK_SECRET: <%= ENV["FACEBOOK_SECRET"] %>
我尝试在初始化程序中将 'config' 更改为 'secrets',但这没有用。我怀疑它与中间件有关,但我不确定。谁能帮我指出正确配置的方向?生产仅适用于我使用 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:修改后需要重启服务器