2013-03-08 19 views
1

UPDATE: Я не упомянул ранее, что мы хотим, чтобы решение было гибким с аутентификацией пользователей из наших баз данных или попросив другие серверы рассказать нам, если пользователь аутентифицирован. Также стоит упомянуть, что эти другие серверы не находятся под нашим контролем, поэтому мы не можем применять определенную модель пользователя.Аутентификация пользователя клиент-сервер

У меня было долгое и продолжительное чтение на OAuth и OpenID, но они оба не подходят для нашей ситуации и сделают процесс сложнее для пользователя. Это то, что было решено тысячу раз, но я не могу найти решение.

Мы ищем инфраструктуру, которая может использоваться на сервере служб REST для аутентификации пользователей (без участия сторонних клиентов) с их именем пользователя и паролем. Решение не должно передавать имя пользователя и пароль, кроме первого при входе в систему и использовать токены для дальнейшей аутентификации. Несмотря на то, что OAuth использует токены, он предназначен для обеспечения доступа сторонних клиентов к ресурсам поставщиков услуг. Здесь не так, услуги для нашего собственного приложения, единственное, что нужно - это аутентификация пользователя.

Что вы, ребята, думаете, является наиболее подходящим решением?

Конфигурация:
жёсткости сервер, который предоставляет RESTful услуги с нашим мышлением происходит в направлении использования Spring Security с некоторыми управления пользователями и лексемы системы управления.
-iOS Устройство, которое будет вызывать HTTPS-вызовы на сервер.

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

Есть что-то готовое для настройки на нашем сервере? Или мы должны рассмотреть вопрос о создании собственного программного обеспечения для управления, сравнения и генерации токенов? Использует Spring-Security с приложением iOS без участия хранения файлов cookie или перенаправления на страницы?

ответ

0

OpenStack предлагает как часть многих проектов, связанных с облаком с открытым исходным кодом ... проект Keystone. Что делает это в значительной степени именно то, что вы хотите.

Вы можете проверить его здесь:

http://docs.openstack.org/developer/keystone/

+0

Большое спасибо. Я все еще читаю его. Нужно ли использовать OpenStack Identity для наших пользователей? или мы можем использовать наш собственный процесс сравнения имени пользователя и пароля и просто использовать Keystone для управления токеном/сеансом? – hishamaus

+0

Keystone может привязываться к ldap или обратно к PAM atm. Не больше. Существует некоторая работа мод для привязки к Active Directory, но она не поддерживается активной базой. –

Смежные вопросы