Интересно, должен ли я использовать протокол CAS или OAuth + некоторый поставщик аутентификации для единого входа.SSO с CAS или OAuth?
Пример сценария:
- пользователь пытается получить доступ к защищенному ресурсу, но не прошел проверку подлинности.
- Приложение перенаправляет пользователя на сервер SSO.
- Если вы прошли аутентификацию, пользователь получает маркер с сервера SSO.
- SSO перенаправляет исходное приложение.
- Исходное приложение проверяет токен на сервере SSO.
- Если токен в порядке, доступ будет разрешен, и приложение узнает идентификатор пользователя.
- Пользователь выполняет выход из системы и одновременно выходит из подключенного приложения (однократный выход).
Насколько я понимаю, именно это и было изобретено CAS. Клиенты CAS должны внедрить протокол CAS для использования службы аутентификации. Теперь мне интересно, как использовать CAS или OAuth на клиентском (потребительском) сайте. Является ли OAuth заменой для этой части CAS? Должен ли OAuth стать новым стандартом де-факто? Есть ли простая в использовании (не Sun OpenSSO!) Замена для части аутентификации CAS, поддерживающей разные методы, такие как имя пользователя/пароль, OpenID, TLS certifactes ...?
Контекст:
- Различные приложения должны полагаться на проверку подлинности сервера SSO и использовать что-то вроде сеансов.
- Приложения могут быть веб-приложениями GUI или (REST).
- Сервер SSO должен предоставлять идентификатор пользователя, который необходим для получения дополнительной информации о пользователях, таких как роли, электронная почта и т. Д. Из центрального хранилища информации пользователя.
- Одиночный выезд должен быть возможен.
- Большинство клиентов написаны на Java или PHP.
У меня только discovered WRAP, что может стать преемником OAuth. Это новый протокол, указанный Microsoft, Google и Yahoo.
Добавление
Я узнал, что OAuth не был предназначен для проверки подлинности, даже она может быть использована для реализации SSO, но только вместе со службой SSO, как OpenID.
OpenID кажется мне «новым CAS». У CAS есть некоторые особенности пропусков OpenID (например, одиночный выход), но не обязательно добавлять недостающие части в конкретный сценарий. Я думаю, что OpenID имеет широкое признание, и лучше интегрировать OpenID в приложения или серверы приложений. Я знаю, что CAS также поддерживает OpenID, но я думаю, что CAS не совместим с OpenID.
Одиночный выход является анти-функцией. Все исследования пользователей, о которых я знаю, охватили это, показали, что это от легкой до крайне запутанной для начинающих и опытных пользователей. Я лично должен использовать систему, которая использует единый вход на ежедневной основе, и я нахожу это невероятно раздражающим. Это почти никогда не поведение, которое я хочу. –
Не соглашайтесь с тем, что единый вход - это антифестация. Все зависит от рассматриваемых приложений. Для веб-приложений, которые каким-то образом связаны друг с другом, то есть с почтой Google и календарем Google, имеет смысл, что если вы выходите из явного исключения из одного, вы выходите из другого. В случаях с приложениями, где нет явных «отношений», я согласен с Бобом. – ashwoods
Обратите внимание, что этот вопрос изначально был задан до того, как был введен OAuth 2.0, поэтому информация, связанная с OAuth, может быть более неточной. – Andrew