Omniauth-facebook Rails 6: неверный идентификатор приложения - PullRequest
0 голосов
/ 11 ноября 2019

Я использую Rails 6.0.0, Devise 4.7.1 и omniauth-facebook 5.0.0.

  • Мне удалось заставить omniauth успешно работать с твиттером через omniauth-twitter (который, как я заметил, сейчас использует oauth 1.0 вместо oauth 2.0).
  • Iтакже удалось заставить omniauth успешно работать с Google через omniauth-google-oauth2, который использует oauth 2.0.
  • У меня нет такой же удачи с omniauth-facebook (который использует oauth 2.0).

В файле initalizers/devise.rb находится основная конфигурация для того, чтобыукажите provider, а затем app_id и app_secret для каждого поставщика. Вот что у меня есть (конечно, с заполнителем для реального app_id и секрета):

config.omniauth :facebook, "my-app-id", "my-app-secret-key", scope: "email"
config.omniauth :twitter, "my-app-id", "my-key"
config.omniauth :google_oauth2, "my-client-id", "my-client-seceret"

Опять же, это прекрасно работает с твиттером и гуглом. Но когда я нажимаю ссылку «Войти через Facebook», это показывает это на Facebook:

invalid app id

Я в тупике, потому что знаю, что ввел app ID правильно. Приложение имеет статус «Живой», а не «Разработка» (для этого мне потребовалось указать URL-адрес Политики конфиденциальности).

Поскольку omniauth-twitter работает, возникает вопрос, что-то не так со стороны поставщика(facebook) или, возможно, что-то не так с omniauth-facebook гемом? Конечно: я никогда не исключу, что упускаю что-то очевидное.

Я использую https для своего приложения (httpsтеперь, по-видимому, это требование для использования этой услуги с Facebook), так что это тоже не проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...