SAML SSO клиент, Тестовый симулятор SAML Провайдер / Сервер - PullRequest
2 голосов
/ 27 ноября 2010

SAML, SSO - это новое обучение в моем проекте. У меня нет достаточно времени, чтобы экспериментировать, чтобы найти правильные инструменты / API. Прошу вас помочь.

Мне нужно реализовать клиент SAML (на Java), который должен иметь возможность отправлять утверждения SAML и получать ответ SAML от поставщика / сервера SAML. Какой Java API я должен использовать для написания клиента SAML на Java?

И наш клиент уже имеет ответчик / сервер SAML, который получает запрос SAML и отправляет ответ SAML с профилями пользователей и другой информацией. Но нам нужно написать тестовый симулятор SAML респондент / сервер. Я использовал серверы Apache & Tomcat. Какой сервер / API следует использовать для реализации этого симулятора ответов Респондент / сервер SAML?

Ответы [ 3 ]

7 голосов
/ 01 декабря 2010

Мы используем OpenSAML, который достаточно гибок и не так сложен для изучения / использования. Я использовал его для написания сервис-провайдеров (включая некоторые настроенные для клиента версии), обработки как запрашиваемого, так и незапрошенного SAMLResponse XML, отправки AuthnRequests провайдеру идентификации, вызова службы IdP AttributeQuery и симуляции SAMLResponse XML провайдера идентификации (для тестирования).

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

Одна вещь, которую вы говорите, смущает меня:

наш клиент уже имеет ответчик / сервер SAML, который получает запрос SAML и отправляет ответ SAML с профилями пользователей

Если они являются поставщиком услуг, и это SSO SAML, то они получают SAMLResponse XML через запрос браузера и отвечают, отображая контент в браузере пользователя. Они не отправляют вам ответ с профилями пользователей. У вас может не быть времени на эксперименты, но я бы посоветовал вам потратить немного времени на чтение документов SAML - даже простое чтение SAMLOverview должно дать вам немного больше оснований.

1 голос
/ 10 мая 2011

Я использую Open SAML на стороне клиента и простой HTTP-запрос / ответ на стороне сервера, потому что у меня не так много типов запросов SAML.Поэтому лучше не использовать такой сложный веб-сервис и SAML API на стороне сервера.

0 голосов
/ 27 февраля 2012

OpenSAML - это набор библиотек C ++ и Java с открытым исходным кодом, предназначенных для поддержки разработчиков, работающих с языком разметки утверждений безопасности (SAML). См. openSAML API

...