Использование 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'
Другие вопросы по тегам