2012-05-29 1 views
1

Я изучаю спецификацию OAuth2 и множество вспомогательных материалов, но не могу решить, какой лучший подход/поток использовать для моего использования.Какой поток OAUTH2 для мобильного доступа и SSO

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

Теперь у меня есть набор отдыха api, который позволит мобильному веб-клиенту (в настоящее время android) извлекать данные из моего веб-приложения. Я хочу повторно использовать этот механизм SSO для создания токена OAuth, который использует мобильный клиент, чтобы идентифицировать себя с каждым запросом на отдых. В идеале поток будет бесшовным, то есть пользователь открывает браузер на своем телефоне, аутентифицируется в своей собственной системе и направляется на домашний URL-адрес для мобильного веб-клиента с токеном OAuth.

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

Я что-то упустил?

+2

Вы должны предоставить отзыв о ответах. Пожалуйста, по крайней мере, прокомментируйте их! Благодарю. –

ответ

1

Если я правильно понимаю вашу проблему, это не так сложно. В вашем сценарии должен использоваться поток сообщений с неявным сообщением (http://tools.ietf.org/html/draft-ietf-oauth-v2-26#section-4.2), предназначенный для мобильных приложений. Таким образом, ваш поток сообщений будет:

  1. Когда мобильное приложение запущено, он отправляет запрос маркера на сервер OAuth. Сервер отвечает перенаправлением на ваше веб-приложение. Страница результатов отображается пользователю.
  2. Пользователь подписывается (вручную или с использованием единого входа), читает детали запроса авторизации и, надеюсь, утверждает его. Утверждение отправляется на сервер OAuth.
  3. Сервер OAuth генерирует токен и возвращает перенаправление, содержащее информацию о токенах в фрагменте URL-адреса.
  4. Ваше мобильное приложение извлекает токен из фрагмента и использует его для доступа к защищенным ресурсам.

Для этого вам необходим клиент OAuth для вашего мобильного устройства, веб-сервер OAuth и страница утверждения в вашем веб-приложении для поддержки сценария. Если сервер OAuth тесно интегрирован в ваше веб-приложение, вам может не понадобиться перенаправление между сервером и вашим приложением.

+0

Могу ли я использовать грант кода авторизации и добиться единого входа в мобильное приложение –