Конфигурация Omniauth в секретах рельсов 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' на 'секреты' в инициализаторе, но это не сработало. Я подозреваю, что это как-то связано с промежуточным ПО, но я не уверен. Кто-нибудь может помочь мне указать правильную настройку? Производство работает только до н.э. Я устанавливаю переменные конфиг с помощью heroku.
Большое спасибо!
1 ответ
Вы не читаете файл секретов. Измените ваш 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: необходимо перезагрузить сервер после изменений