Аутентификация Web и API для мобильных устройств на Rails - PullRequest
0 голосов
/ 07 декабря 2011

Я читаю книгу Пола Дикса «Сервис-ориентированный дизайн с Ruby» и много постов здесь, но у меня осталось много вопросов, касающихся аутентификации пользователей и приложения.

Я хочу, чтобы api.site.com былПриложение RESTful Rails, обслуживающее JSON.Secure.site.com будет веб-приложением (может быть, Rails или, может быть, PHP), которое будет использовать сервис.Кроме того, оно будет поглощать и мобильное приложение, например iPad.

Итак, является ли первый шаг к повышению уровня аутентификации, чтобы сервис мог использовать только мое веб-приложение и мобильное приложение?Затем, после того как вызывающее приложение будет аутентифицировано, у обоих этих приложений появятся пользователи, которые хотят CRUD-данные, а затем аутентифицировать их?

Я читал об основах Http, дайджестах, токенах, oauth и многих плагинах.но я с трудом сужаю наиболее гибкий и многократно используемый способ.Пока это просто обучение, поэтому я хотел бы держаться подальше от плагинов, чтобы я мог лучше изучить код.

Может ли мое веб-приложение использовать обычные сеансы, с которыми я знаком, а затем мобильные устройства используют их эквиваленты сеансам.На данный момент у меня еще нет аутентифицированного вызывающего приложения.Http basic показалось, что я мог использовать его из обоих, но я не видел, как мое веб-приложение могло использовать обычную форму входа, и выход из системы казался проблемой.

1 Ответ

1 голос
/ 08 декабря 2011

Я бы предложил для вас два решения.

  1. Используйте Gem like devise для системы входа в систему и наследуйте контроллер регистрации и сеансов devise, чтобы он отвечал на запросы JSON.

  2. Создайте свою собственную простую аутентификацию и используйте ответ на HTML и ответ на JSON для разделения веб-входа и мобильного входа

Я не совсем уверен, поддерживает ли мобильное устройствосеанс (пожалуйста, посмотрите вокруг), но вы всегда можете использовать систему аутентификации токена, если это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...