尝试使用 fb app_id 和 app_secret 配置环境变量
Trying to configure environment variables using fb app_id and app_secret
我正在关注 rails 演员 #85 here and the marked correct answer on Whosebug here。
我正在尝试使用 facebook "app_id" 和 "app_secret" 在 rails 中设置为环境变量。
我的代码是:
initializers/facebook.rb
FACEBOOK_CONFIG = YAML.load_file("#{::Rails.root}/config/facebook.yml")[::Rails.env]
config/facebook.yml
development:
app_id: abcdefg
app_secret: 123456
production:
app_id: abcdefg
app_secret: 123456
initializers/omniauth.rb
OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, FACEBOOK_CONFIG['abcdefg'], FACEBOOK_CONFIG['123456'], {:client_options => {:ssl => {:ca_file => Rails.root.join("cacert.pem").to_s}}}
end
当我在 app_id 和 app_secret 前面设置环境变量时,即 FACEBOOK_CONFIG 当我尝试通过 facebook 登录时 returns a "app_id parameter is required"信息。所以这种方式行不通。我想知道是否缺少某些代码或者有人可以看到我做错了什么环境变量没有通过 facebook 处理(它们之前没有任何 ENV 变量)。
在你的 rails console
中试试
编辑
require 'yaml'
yaml = YAML.load_file(File.expand_path("#{Rails.root}/config/facebook.yml"))
puts yaml
*编辑 2 *
FACEBOOK_CONFIG = YAML.load_file("#{::Rails.root}/config/facebook.yml")[::Rails.env]
更改为:
FACEBOOK_CONFIG = YAML.load_file(File.expand_path("#{Rails.root}/config/facebook.yml"))[::Rails.env]
我正在关注 rails 演员 #85 here and the marked correct answer on Whosebug here。
我正在尝试使用 facebook "app_id" 和 "app_secret" 在 rails 中设置为环境变量。
我的代码是:
initializers/facebook.rb
FACEBOOK_CONFIG = YAML.load_file("#{::Rails.root}/config/facebook.yml")[::Rails.env]
config/facebook.yml
development:
app_id: abcdefg
app_secret: 123456
production:
app_id: abcdefg
app_secret: 123456
initializers/omniauth.rb
OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, FACEBOOK_CONFIG['abcdefg'], FACEBOOK_CONFIG['123456'], {:client_options => {:ssl => {:ca_file => Rails.root.join("cacert.pem").to_s}}}
end
当我在 app_id 和 app_secret 前面设置环境变量时,即 FACEBOOK_CONFIG 当我尝试通过 facebook 登录时 returns a "app_id parameter is required"信息。所以这种方式行不通。我想知道是否缺少某些代码或者有人可以看到我做错了什么环境变量没有通过 facebook 处理(它们之前没有任何 ENV 变量)。
在你的 rails console
中试试
编辑
require 'yaml'
yaml = YAML.load_file(File.expand_path("#{Rails.root}/config/facebook.yml"))
puts yaml
*编辑 2 *
FACEBOOK_CONFIG = YAML.load_file("#{::Rails.root}/config/facebook.yml")[::Rails.env]
更改为:
FACEBOOK_CONFIG = YAML.load_file(File.expand_path("#{Rails.root}/config/facebook.yml"))[::Rails.env]