Создайте с omniauth-facebook "Недопустимые учетные данные"

Я пытаюсь получить аутентификацию Facebook с помощью Devise через omniauth-facebook, я выполнил следующие инструкции: https://github.com/plataformatec/devise/wiki/OmniAuth%3a-Overview

Когда я следую логину с помощью ссылки Facebook, я перенаправляюсь в Facebook для входа и принятия запрашиваемых разрешений.

Затем меня возвращают /users/sign _in с сообщением об ошибке "Не удалось авторизовать вас из Facebook, потому что" Недопустимые учетные данные ""

Глядя на журналы сервера, перенаправление происходит из "/users/auth/facebook/callback? code = [long text string]", который обрабатывается с ошибкой Users:: OmniauthCallbacksController #, а не с пользователями:: OmniauthCallbacksController # facebook as Я бы ожидал, если бы это сработало.

Любые предложения относительно того, почему это происходит и как его решить, очень ценятся.

Ответ 1

Хорошо, у меня была такая же проблема. Причиной для меня оказалось то, что я определил эту строку в config/initializers/devise.rb:

config.omniauth :facebook ...

Идентификатор приложения и секрет приложения были определены для моего приложения для тестирования Facebook и для его создания. Исправление этих id: s теперь устранило проблему.

Ответ 2

facebook изменяет протокол от oauth до oauth2 главное отличие в том, что учетные данные (id, токен, имя...) теперь упакованы в один хеш. Вы должны разбираться.