2013-06-22 5 views
1

У нас есть 4 приложения. И мы хотим реализовать SSO в этих приложениях. У меня есть несколько сомнений по этому поводу. Нам было предложено использовать opensaml.SSO с использованием saml2.0 в opensaml

Запрос 1:

имя пользователя и пароль, введенный пользователем, посылается клиентом (Ex.Front-конец) до промежуточного программного обеспечения, а затем промежуточного слоя отправить эту информацию на сервер SSO, то в этом случае Является ли пользователь принципиальным? Является ли промежуточное ПО поставщиком услуг? Является ли сервером SSO поставщиком удостоверений?

Запрос 2:

Теперь, когда логины в одном из приложения, то мы должны подключиться к провайдеру идентификации инициировать SSO, какие параметры (обязательно) должен быть послан нами на сервер SSO ??

Запрос 3:

Когда После получения ответа от сервера SSO, Если промежуточного сохранить маркер для дальнейшего использования?

Запрос 4:

Теперь, если другой пользователь нажимает другое приложение, то оно должно быть установлено, что есть SSO работает. Как определить это? Должно ли промежуточное ПО попасть на сервер SSO для этого?

Просим устранить вышеуказанные запросы.

+0

Просьба решить эти вопросы как можно скорее. – ryan

ответ

2

1) Да, «промежуточное программное обеспечение», которое вы описываете, является Поставщиком услуг, а «SSO-сервер» - это поставщик удостоверений.

2) Когда пользователь пытается защитить ресурс у Поставщика услуг, он перенаправляет браузер в Поставщик удостоверений. Если браузер не имеет активного сеанса с поставщиком удостоверений, пользователю будет предложено ввести данные для входа.

После этого браузер будет перенаправлен обратно поставщику услуг вместе с ответом SAML, аутентифицирующим пользователя. После проверки ответа SAML поставщик услуг перенаправляет на защищенный ресурс.

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

3) Провайдер услуг (промежуточное ПО) обычно не будет отвечать на ответ SAML от поставщика удостоверений, вместо этого он может настроить собственный сеанс. Например, в .Net это может быть отключено с помощью проверки подлинности с помощью форм.

4) Когда пользователь пытается получить доступ к другому Поставщику услуг, браузер будет перенаправлен в Поставщик удостоверений. Поскольку пользователь уже имеет активный сеанс, поставщик удостоверений перенаправляет обратно поставщику услуг с помощью ответа SAML. Затем поставщик услуг перенаправляет на защищенный ресурс и, возможно, создает собственный сеанс.

Это происходит легко для пользователя, и они эффективно регистрируются прямо во втором Поставщике услуг.

Также, какую платформу вы используете для разработки? Если вы используете .NET или Java, я могу порекомендовать библиотеку с открытым исходным кодом OIOSAML. Он включает рабочие примеры поставщиков услуг и удостоверений, чтобы вы могли видеть, как все работает.

+0

Спасибо за разрешение запросов. Тем не менее у меня есть некоторые сомнения. – ryan

+0

Я полностью понял роль провайдера идентификации. Но есть ли что-то URL-адрес, который нам нужно ударить для IDP (Identity Provider)? Также я использую Java, поэтому нам нужно отправить некоторый запрос, который имеет определенный формат, чтобы формат создавался программистом или есть какая-либо библиотека в java, в которой мы можем установить параметры, и запрос будет сделан автоматически в определенном формате ?? – ryan

+1

Да, у вас будет указатель входа в Identity Provider. Если у Провайдера услуг нет активного сеанса, он перенаправляет браузер на URL-адрес входа в систему Identity Providers с возвращаемым URL-адресом в качестве параметра. После успешной проверки подлинности поставщик удостоверений будет обновляться вместе с ответом SAML. Таким образом, все это обрабатывается переадресацией браузеров, которая позволяет получать доступ к кукисам сеанса на каждом сайте. – 79E09796

1

Какой IDP вы думаете об использовании?

В мире SAML все URL-адреса, сертификаты и т. Д. Обмениваются метаданными.

Итак, в IDP вы импортируете sp.xml, а в SP вы будете импортировать idp.xml.

Для Java вам понадобится какой-то SAML-стек на стороне вашего SP.

Refer: SAML stack и Java equivalent to WIF.

+0

В этом эквиваленте Java, эквивалентном WIF, он использует Apche CXF, который представляет собой разную структуру. Я слышал о библиотеке opensaml. Но я не могу найти примеры для этого. Любое предложение в этом? – ryan

+0

Если вы хотите открыть openSAML, руководства и т. Д. Здесь - https://wiki.shibboleth.net/confluence/display/OpenSAML/Home. – nzpcmad