Rails API Omniauth (Facebook) Войти

У меня есть Rails API, который не имеет состояния, с Devise gem для аутентификации и с использованием Devise, сгенерированного auth_token для авторизации каждого запроса. Теперь я хочу добавить вход через Facebook со следующим потоком:

  1. Пользователь разрешает приложению Facebook получать необходимые данные.
  2. Перенаправление на определенную страницу в соответствии с настройками Facebook (/auth/facebook/callbacks).
  3. Получите или создайте пользователя (если он еще не зарегистрирован).
  4. Перенаправление на предыдущую страницу (до того, как мы нажмем войти через facebook) с помощью auth_token.

Проблема на шаге 4, как мне получить auth_token через json после перенаправления. В любом случае, auth_token генерируется каждый раз, когда пользователь успешно создается или входит в систему (с помощью электронной почты и пароля).

Любой лучший пример для этого?

Спасибо


person ruwhan    schedule 28.08.2015    source источник
comment
Вы также можете обратиться к github.com/plataformatec/devise/wiki/   -  person Amit Badheka    schedule 31.08.2015


Ответы (1)


В итоге я использовал Facebook Javascript SDK (используя FB.login()). Вместо Devise Facebook Omniauth. Затем я отправляю ответ на внутренний API.

person ruwhan    schedule 31.08.2015
comment
Я тоже борюсь с этим. Из вашего ответа я понял, что поток входа в Facebook обрабатывается интерфейсом Javascript, что имеет смысл. В моем случае мой API обслуживает мобильное приложение, поэтому приложение будет обрабатывать поток входа в Facebook. Однако, как только пользователь войдет в систему через интерфейс, как отправить данные Fb (user_id и токен доступа) обратно в API, чтобы правильно сгенерировать auth_token? - person Augusto Samamé Barrientos; 30.05.2016
comment
@Augusto, у меня тоже такая же проблема. Не могли бы вы перенаправить меня к лучшему подходу? Мне нужно будет создать мобильное приложение для Android, IOS, и я пытаюсь понять, как сделать Rails Backend API для аутентифицированных пользователей Facebook-Omniauth. Спасибо, Фабрицио. - person Fabrizio Bertoglio; 16.04.2017
comment
Привет, Фабрицио. Я закончил использовать настроенную версию драгоценного камня devise_token_auth. Используете ли вы гем для аутентификации вызовов API? - person Augusto Samamé Barrientos; 16.04.2017