Я пытаюсь настроить Devise с помощью omniauth, чтобы позволить пользователям входа в facebook через мое приложение rails. Я прочитал несколько советов/вопросов SO, и они указывают, что у меня нет настройки FACEBOOK_APP_ID
в переменной среды на поле, в котором работает приложение rails. Ну, я настраиваю переменную среды в поле производства, из которого приложение работает под этим конкретным пользователем. Я добавил FACEBOOK_APP_ID
и переменные окружения FACEBOOK_SECRET
в .bashrc
, и я разместил приложение в режиме разработки на странице приложений facebook. Я также проверил раздел приложения roles
через портал разработчиков приложений на сайте facebook, а моя учетная запись facebook установлена на Administrator
, поэтому я немного недоумеваю, почему это не работает. В настоящее время я вижу что-то вроде этого: Devise omniauth facebook Требуется параметр app_id
1
A
ответ
0
Просто не используйте переменные среды, давайте предположим, что мое приложение - 121, а секрет - abc.
Тогда мой omniauth.rb
будет выглядеть следующим образом:
OmniAuth.config.logger = Rails.logger
Rails.application.config.middleware.use OmniAuth::Builder do
provider :facebook, "121", "abc"
end
Вы уверены, что переменная находится в правом .bashrc? Один из пользователей, который фактически запускает экземпляр вашего сервера rails? –
Да, я просто дважды проверял это, и puma работает под пользователем, который развертывает приложение через capistrano, и я повторил «FACEBOOK_APP_ID», и он печатает хэш символов. – Chris
Я помню, что у меня была одна и та же проблема с одним развертыванием capistrano и в конечном итоге использовала драгоценный камень figaro, чтобы отслеживать мои глобальные переменные ... Вероятно, это не тот ответ, который вы ищете, но, возможно, еще один способ сделать это :) –