2009-04-30 11 views
36

Как обычно реализуется SSO SAML?Как реализовать SAML SSO

Я читал this (n.b. устаревший) об использовании SAML с Google Apps и записи в википедии SAML.

В записи в Википедии говорится об ответах на формы, содержащие детали SAMLRequest и SAMLResponse. Означает ли это, что пользователь должен физически отправить форму для продолжения единого знака?

В записи google говорится о том, как использовать перенаправления, что кажется мне более безразличным. Тем не менее, в нем также говорится об использовании формы ответа, которую пользователь должен предоставить (хотя он действительно говорит об использовании JavaScript для автоматической отправки формы).

Это стандартный способ сделать это? Использование переадресаций и JavaScript для отправки формы?

Кто-нибудь знает какие-либо другие полезные ресурсы о том, как реализовать внедрение единого входа между доменом Windows и веб-приложением J2EE. Веб-приложение находится в отдельной сети/домене. Мой клиент хочет использовать CA Siteminder (с SAML).

ответ

25

Способ, которым это делается, заключается в том, , В HTML есть событие JavaScript onLoad, которое отправляет форму, поэтому чистый эффект заключается в том, что пользователь автоматически извлекается из IdP в SP, ответ SAML в руке.

Единственный раз, когда пользователю нужно было бы щелкнуть что-либо, чтобы отправить форму, если у них отключен JavaScript. В этом случае реализации SAML обычно предоставляют сообщение с кнопкой для нажатия тега <noscript>.

Для получения дополнительной информации см. this article I wrote a few years ago - но обратите внимание, что «Lightbulb» давно устарел - для PHP SAML см. simpleSAMLphp.

Жаль, что ваш клиент хочет использовать CA SiteMinder - открытый источник OpenAM (ранее известный как OpenSSO) делает это довольно легко.

+4

OpenSSO мертв, я считаю, что он был реинкарнирован как OpenAM –

+0

Вы правы, @TobyHobson. Я отредактировал свой ответ. – metadaddy

+0

Ссылка на ссылку больше не работает. Это все еще там? Благодарю. – IcedDante

0

Если Siteminder является полагающейся стороной, вам нужно будет написать настраиваемый агент для создания артефакта SAML и создания SM-сессии. В противном случае вам нужно будет приобрести продукт, который уже имеет эту функциональность.

5

This article объяснения очень хорошо. Есть примеры и для разных платформ.

+0

Да, есть классы для отправки запроса authrequest, но нет классов для получения запроса, анализа его и отправки ответа. – Ashwin

+3

Ссылка отсутствует. Любые обновления? – Jerry

+1

@Jerry Я заменил неработающую ссылку на кешированную версию статьи с сайта archive.org –

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