Разработка приложений Omniauth и Iphone / Android

Я настроил auth для моего приложения rails с помощью Devise и Omniauth. Теперь мне интересно, где я должен начать использовать тот же auth для приложения Android и iPhone, которое я хочу создать.

Должен ли я использовать мобильную версию my / auth / facebook или я должен напрямую отправлять запрос из приложения?

Это довольно общий вопрос, но я нигде не смотрю.

EDIT: Я только что добавил Token Auth в приложение для использования с RESTful api, я просто пропустил часть Omniauth / Facebook-token.

Хорошо, поэтому я отвечаю на свой вопрос.

Если вы используете SDK для Facebook , SSO работает неплохо на устройстве, НО, токен, который вы получаете, не совпадает с тем, который вы получите в своем приложении Rails. Видимо, Facebook создает разные токены в зависимости от поддержки.

Так что я сделал это: как только я получу токен на устройстве Android, я отправляю его в свое приложение rails через URL-адрес:

http://myapp/check_mobile_login?token=FB_MOBILE_TOKEN 

Затем это поймает мой контроллер приложений, который использует токен с gbfbgraph для получения пользовательских данных. Если токен действителен, я собираюсь получить некоторые фрагменты информации. Затем я проверяю с моей базой данных, и, если я нахожу тот же UID, тогда мой пользователь аутентифицируется, и я отправляю его обратно Authentificable_token из Devise.

И проект кодекса:

  def check_mobile_login token = params[:token] user = FbGraph::User.me(token) user = user.fetch logged = User.find_by_uid(user.identifier) respond_to do |format| format.html # index.html.erb format.json { render :json => logged.authentication_token } end end 

Если у кого-то есть лучшее решение, я был бы рад услышать это 🙂

Intereting Posts
Проверьте качество изображения перед OCR Исключение класса ClassCast при привязке к сервису В проекте нет файла project.properties! Отредактируйте свойства проекта, чтобы установить один Как получить существующие фрагменты при использовании FragmentPagerAdapter Сообщение «Не удалось найти сообщение XXX.apk» на консоли при запуске приложения с подключенным к ОС Android lib Обновление значений кинжала Android за пределами модуля Android singleTask или режим запуска SingleInstance? Truecaller android sdk Код ошибки 3 ThreadPoolExecutor больше threads = slower android Eclipse не отображает графический макет для файлов Android XML Автоматически регистрировать события жизненного цикла Android с помощью ActivityLifecycleCallbacks? Предотвращение повторного появления скрытой строки состояния после блокировки экрана Android и Java: использование runnable Почему мое приложение карты падает, если я устанавливаю maxSdkVersion в разрешении WRITE_EXTERNAL_STORAGE? Аудиосистема случайно закрывается при кроссфейдинге 2 объекта MediaPlayer