2014-09-14 4 views
0

После долгого поиска в Интернете, я решил опубликовать свой вопрос. Я должен добавить пользовательский атрибут и его значение (в моем случае, номер контракта клиента) в объект ответа SAML и отправить его в SP. Ниже см атрибут номер договора под названием «МИЛИЦИЯ» в метаданных SP:Добавление пользовательских атрибутов в SAML Assertion

<md:SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> 
    <md:AssertionConsumerService index="0" Location="POST_url_of_the saml_Response" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" isDefault="true"/> 
    <md:AttributeConsumingService index="0"> 
     <md:ServiceName xml:lang="en">AttributeContract</md:ServiceName> 
     <md:RequestedAttribute Name="ROLES"/> 
     <md:RequestedAttribute Name="POLICE"/> 
    </md:AttributeConsumingService> 
</md:SPSSODescriptor> 

Как я могу использовать услуги OpenAM SAML создать гиперссылку в пределах моего веб-приложения? У меня OpenAM 10 как IDP.

+0

Вы не понимаете. Вы хотите отправить атрибут в SP. Но была ли эта гиперссылка связана с этим? –

+0

Спасибо Stefan после того, как пользователь аутентифицирован через мой sso-сервер (idp), у него есть ссылка в моем веб-приложении, чтобы просмотреть информацию о его номере контракта. Номер договора (числовой) должен быть атрибутом «ПОЛИЦИЯ» (см. Метаданные sp выше). Номер контракта - это источник, размещенный в sp. Как я могу настроить свою ссылку, чтобы указать номер контракта внутри моего ответа Saml? Еще раз спасибо !! – dimsonderrick14

ответ

0

В консоли OpenAM выберите SP, вкладку «Федерация», вкладку «SP», subtab «Assertion Procession», настройте атрибут профиля на сопоставление утверждений атрибутов SAML.

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

+0

Привет, Бернхард, спасибо за ответ, но мой атрибут не поступает из хранилища данных, my attribute - это переменная «POLICE (см. Метаданные выше)», содержащий номер контракта, который является ressource, размещенный sp. Как я могу построить свое утверждение SAML с номером контракта, например, используя openam rest api. Спасибо! – dimsonderrick14

+0

Вам нужно создать настраиваемый атрибут, чтобы включить атрибуты в утверждение (http://docs.forgerock.org/en/openam/11.0.0/apidocs/index.html). Однако вам нужно будет использовать OpenAM управления услугами API для извлечения метаданных SAML, как я не знаю публичного API для извлечения метаданных SAML непубличных API может быть SAMLUtils.g SAML2MetaManager –

+0

SAMLUtils.getSAML2MetaManager() SAML2MetaManager .getEntityDescriptor (String realm, String entityId) для получения стандартных метаданных SAML2MetaManager.getEntityConfig (String realm, String entityId) для получения расширенных метаданных –