Аутентификация Rails с Access_token от Facebook

В настоящее время я создаю приложение для iPhone с бэкендом rails. Я использую исключительно единый вход (SSO) facebook на iphone, и аутентификация отлично работает на стороне клиента. Я использую devise on rails в качестве бэкэнда.

ПРИМЕЧАНИЕя консультировался по проектированию аутентификации Facebook в приложении для iOS, которое также имеет доступ к защищенному веб-сервисууже

я вижу, что в этом устройстве есть то, что называется token_authenticable, что по сути является «билетом» описан в шаге 5 этой темы. Это текущий поток, который я вижу

  1. пользователь входит в Facebook SSO на телефоне
  2. пользователь звонит на myserver.com/sessions/fb_sso с помощью { access_token: X }
  3. на стороне сервера (в SessionsController #fb_sso, я сделаю вызов API к facebook с помощью access_token
  4. Если access_token действителен, проверьте, существует ли пользователь в БД.Если пользователя не существует, создайте нового пользователя
  5. Теперь мы можем вернуть { user_id: X , devise_auth_token: Y } вернуться к вызову on 1)

Это довольно прямолинейно. Однако у меня есть пара вопросов:

  1. Означает ли это, что с devise_auth_token мне больше не нужно вызывать sign_in("user", resource) из devise? (найдено здесь http://jessevolgamott.com/blog/2012/01/19/the-one-with-a-json-api-login-using-devise/)
  2. Где лучше разместить код для 3-4?
  3. Я не могу найти много информации в Google по этой теме. Почему так мало руководств по столь распространенному процессу? Я упускаю что-то явно очевидное?

12
задан Community 23 May 2017 в 12:10
поделиться