Попытка настроить переменные среды, используя fb app_id и app_secret

ruby-on-rails ruby facebook omniauth-facebook

147 просмотра

1 ответ

Я следую за приведением # 85 рельсов здесь и отмеченным правильным ответом на stackoverflow здесь .

Я пытаюсь использовать facebook "app_id" и "app_secret", чтобы установить в качестве переменных среды в рельсах.

мой код:

Инициализаторы / facebook.rb

FACEBOOK_CONFIG = YAML.load_file("#{::Rails.root}/config/facebook.yml")[::Rails.env]

конфиг / facebook.yml

development:
app_id: abcdefg
app_secret: 123456
production:
app_id: abcdefg
app_secret: 123456

Инициализаторы / 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, он возвращает сообщение «Требуется параметр app_id». Так что этот способ не работает. Мне интересно, если какой-то код отсутствует или кто-то может увидеть что-то, что я делаю неправильно, переменные окружения не обрабатываются через facebook (где они были раньше без каких-либо переменных ENV).

Автор: Lee Eather Источник Размещён: 08.11.2019 11:11

Ответы (1)


1 плюс

Решение

в вашем 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]
Автор: Breno Perucchi Размещён: 20.08.2016 01:38
Вопросы из категории :
32x32