Обеспечение доступа мобильных приложений к веб-сервису (домашний подход) - PullRequest
2 голосов
/ 19 января 2012

У меня есть HTTPS WebService, к которому нужно обращаться из приложения для мобильных устройств (iPhone). оба разработаны нашей стороной.

Нам необходимо обеспечить мобильный доступ к этой услуге. Поэтому мы использовали имя пользователя / пароль.

Нам известно о OAuth , но нам нужна более простая схема аутентификации.

Мы думаем о следующем:

  1. Приложение Mobile отображает форму входа для пользователя / владельца ресурса .

  2. Владелец ресурса введите учетные данные для входа в приложение Mobile .

  3. Приложение Mobile подключается к Серверу по специальному методу WS (например, «ValidateLogin»), который принимает имя пользователя / пароль, вероятно, хэшированные, и возвращает HTTP Session Id.

  4. Приложение Mobile сохраняется this HTTP Session Id - который является уникальным ключом со стороны сервера и может быть безопасным? - для связи с сервером для последующих запросов (вызов бизнес-методов).

  5. Если Клиент не связывается с Сервером в течение, скажем, 30 минут, Сервер отправит 403 / Session_time_out ( Мобильный может удалить сохраненный HTTP Session Id, чтобы указать себе, что он больше не имеет доступа к ресурсам Server - и может сделать это в случае, если он необходимо завершить связь с сервером )

  6. В этом случае Mobile потребуется снова использовать Resource Owner , чтобы получить новый идентификатор сеанса с Server и получить доступ на Сервер ресурсов.


Вопросы:

  • Достаточно ли хороши вышеуказанные шаги, чтобы зависеть от них?
  • Что вы думаете с точки зрения безопасности?
  • Есть ли у вас другие мысли / мнения?

EDIT: это HTTPS WebService

1 Ответ

0 голосов
/ 19 января 2012

Вопрос очень открытый по своей природе, и я считаю, что сложно ответить на эти общие вопросы с учетом ваших конкретных потребностей.

Чтобы ответить на некоторые конкретные вопросы: Как обезопасить свое приложениепротив неавторизованных клиентов? Посмотрите на SSL и Сертификаты на стороне клиента .

Как безопасно управлять учетными данными пользователя? Посмотрите на использование API цепочки для ключей в iOS.

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