Получение имени пользователя и информации формы SAMLResponse

76
11

Я использую ssocircle как мой IDP. Как получить имя пользователя в ответ на любой пример кода поможет. мой запрос saml, как показано ниже.

<saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
AssertionConsumerServiceURL="http://localhost:38080/ICDWeb/saml/SSO"
Destination="https://idp.ssocircle.com:443/sso/SSORedirect/metaAlias/ssocircle"
ForceAuthn="false"
ID="a3h6ehei2fjhghi3240a10e2ad03ifj"
IsPassive="false"
IssueInstant="2015-03-27T06:12:49.597Z"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Version="2.0"
>
<saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">http://172.16.246.146:38080:ICDWeb/saml/metadata</saml2:Issuer>
</saml2p:AuthnRequest>

спросил(а) 2021-01-19T16:30:13+03:00 2 месяца, 3 недели назад
1
Решение
75

Вам нужно будет настроить свой IDP для отправки необходимых вам атрибутов.

На стороне SP вы можете загружать атрибуты, отправленные IDP из объекта SAMLCredential, доступного в SecurityContextHolder.getContext().getAuthentication().getCredentials(). Вызов, например, credential.getAttributeAsString("myAttribute"), вернет значение, отправленное IDP. Значение NameID отправленное IDP, доступно в качестве принципала в SecurityContextHolder.getContext().getAuthentication().getPrincipal().

ответил(а) 2021-01-19T16:30:13+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема