Использование FacebookOmniauth в Rails 5
Я пытаюсь реализовать аутентификацию Facebook, и я застрял. Я точно следовал этому руководству
https://www.crondose.com/2016/12/guide-integrating-omniauth-rails-5-facebook-login-feature/
и получите эту ошибку
I, [2017-11-07T00:55:47.114884 #12099] INFO - omniauth: (facebook) Начата фаза обратного вызова. E, [2017-11-07T00:55:47.489634 #12099] ОШИБКА - omniauth: (facebook) Ошибка аутентификации! invalid_credentials: OAuth2:: Ошибка,:
Версия API Facebook v2.10
я использую ruby 2.4.0
а также Rails 5.1.4
1 ответ
Вы, вероятно, получаете эту ошибку, потому что ваш идентификатор приложения или секрет приложения неверны. Убедитесь, что ваш инициализатор имеет правильные учетные данные API Facebook:
# config/initializers/devise.rb
config.omniauth :facebook, <your App Id>, <your App Secret>,
callback_url: "http://localhost:3000/users/auth/facebook/callback"
Другой совет: теперь от Facebook требуется указать поля, которые вы хотите вернуть из Facebook. Другими словами, если вы хотите получить адрес электронной почты пользователя Facebook, вам нужно специально запросить его. В прошлом он был возвращен по умолчанию. Вы можете запросить поля, используя scope
параметр в конфигурации Devise.
Например, чтобы запросить адрес электронной почты и имя пользователя Facebook, сделайте следующее:
# config/initializers/devise.rb
config.omniauth :facebook, <your App Id>, <your App Secret>,
callback_url: "http://localhost:3000/users/auth/facebook/callback",
scope: 'email,name'