У меня есть настройка провайдера идентификации (A) в WSO2IS 5.7.0, которая использует внешний IdP SAML2 в качестве федеративного аутентификатора.У меня также есть провайдер идентификации A, настроенный для использования JIT Provisioning в основном хранилище пользователей.
Существует ряд провайдеров услуг, которые используют OpenId Connect в конфигурации входящей аутентификации и провайдера идентификации A в конфигурации локальной и исходящей аутентификации.
Когда я пытаюсь войти в систему с помощью одного из поставщиков услуг, все идет как положено, и в хранилище пользователей создается пользователь с именем пользователя и именем, соответствующим значению оазиса: names: tc: SAML: 2.0: nameid-format: persistent NameIdentifier ответа SAML от внешнего IdP.Проблема в том, что все остальные атрибуты пользователя не заполнены.
Я хочу, чтобы пользователь был подготовлен с использованием значений атрибутов (утверждений) SAML, присутствующих в ответе SAML для имени / фамилии,dob, адрес электронной почты и т. д.
Я попытался добавить утверждения, которые я хочу использовать, в разделе «Фильтр утверждений» расширенной конфигурации утверждений для провайдера идентификации A, предполагая, что утверждения сопоставлены с атрибутамибудет заполнять эти атрибуты.Однако, это будет хранить только то, что я вставлю для значения по умолчанию.
Я настроил внешний IdP для возврата утверждений, использующих пространство имен wso2.org/claims, думая, что это поможет, но не повезло.
Я впервые пытаюсь настроить и использовать WSO2, поэтому мы будем благодарны за любую помощь.
EDIT
Вот пример моего SAMLответ, возвращаемый из общей логики моего WSO2-сервера до того, как поток переходит к части подтверждения oauth и согласия:
<t:RequestSecurityTokenResponse xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">
<t:Lifetime>
<wsu:Created xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2019-02-26T15:30:56.820Z</wsu:Created>
<wsu:Expires xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2019-02-26T16:30:56.820Z</wsu:Expires>
</t:Lifetime>
<wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
<wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsa:Address>|endpointAddress|></wsa:Address>
</wsa:EndpointReference>
</wsp:AppliesTo>
<t:RequestedSecurityToken>
<saml:Assertion MajorVersion="1" MinorVersion="1" AssertionID="_|guid|" Issuer="|issuer address|" IssueInstant="2019-02-26T15:30:56.820Z" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion">
<saml:Conditions NotBefore="2019-02-26T15:30:56.820Z" NotOnOrAfter="2019-02-26T16:30:56.820Z">
<saml:AudienceRestrictionCondition>
<saml:Audience>|audienceAddress|</saml:Audience>
</saml:AudienceRestrictionCondition>
</saml:Conditions>
<saml:AttributeStatement>
<saml:Subject>
<saml:NameIdentifier Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" NameQualifier="ISSUERNAME">67c3a3e0c379ee2341e9ce3ac58dfcff9a01284eaf7a362caa68e9ea7fac64</saml:NameIdentifier>
<saml:SubjectConfirmation>
<saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</saml:ConfirmationMethod>
</saml:SubjectConfirmation>
</saml:Subject>
<saml:Attribute AttributeName="emailaddress" AttributeNamespace="http://wso2.org/claims" a:OriginalIssuer="ISSUERNAME" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>sample@email.address</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="dob" AttributeNamespace="http://wso2.org/claims" a:OriginalIssuer="ISSUERNAME" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>1980-01-01</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="gender" AttributeNamespace="http://wso2.org/claims" a:OriginalIssuer="ISSUERNAME" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>1</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="identityLOA" AttributeNamespace="http://wso2.org/claims" a:OriginalIssuer="ISSUERNAME" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>http://cyber-auth.gc.ca/assurance/loa1</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="postalcode" AttributeNamespace="http://wso2.org/claims" a:OriginalIssuer="ISSUERNAME" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>T1T 1T1</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="country" AttributeNamespace="http://wso2.org/claims" a:OriginalIssuer="ISSUERNAME" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>CA</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="region" AttributeNamespace="http://wso2.org/claims" a:OriginalIssuer="ISSUERNAME" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>CA-AB</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="locality" AttributeNamespace="http://wso2.org/claims" a:OriginalIssuer="ISSUERNAME" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>Edmonton</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="addresses" AttributeNamespace="http://wso2.org/claims" a:OriginalIssuer="ISSUERNAME" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>123 My Street</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="lastname" AttributeNamespace="http://wso2.org/claims" a:OriginalIssuer="ISSUERNAME" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>Mitten</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="givenname" AttributeNamespace="http://wso2.org/claims" a:OriginalIssuer="ISSUERNAME" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>Craig</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="x-ms-client-user-agent" AttributeNamespace="http://schemas.microsoft.com/2012/01/requestcontext/claims" a:OriginalIssuer="CLIENT CONTEXT" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="x-ms-endpoint-absolute-path" AttributeNamespace="http://schemas.microsoft.com/2012/01/requestcontext/claims" a:OriginalIssuer="CLIENT CONTEXT" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>/adfs/ls/</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="insidecorporatenetwork" AttributeNamespace="http://schemas.microsoft.com/ws/2012/01" a:OriginalIssuer="CLIENT CONTEXT" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue b:type="tn:boolean" xmlns:tn="http://www.w3.org/2001/XMLSchema" xmlns:b="http://www.w3.org/2001/XMLSchema-instance">true</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="client-request-id" AttributeNamespace="http://schemas.microsoft.com/2012/01/requestcontext/claims" a:OriginalIssuer="CLIENT CONTEXT" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>e629313b-3de0-0000-0000-000000000000</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="relyingpartytrustid" AttributeNamespace="http://schemas.microsoft.com/2012/01/requestcontext/claims" a:OriginalIssuer="CLIENT CONTEXT" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>https://|wsoaddress|/commonauth</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="x-ms-client-ip" AttributeNamespace="http://schemas.microsoft.com/2012/01/requestcontext/claims" a:OriginalIssuer="CLIENT CONTEXT" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>|clientIP|</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="userip" AttributeNamespace="http://schemas.microsoft.com/2014/09/requestcontext/claims" a:OriginalIssuer="CLIENT CONTEXT" xmlns:a="http://schemas.xmlsoap.org/ws/2009/09/identity/claims">
<saml:AttributeValue>|userIP|</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute AttributeName="anchorclaimtype" AttributeNamespace="http://schemas.microsoft.com/ws/2014/01/identity/claims">
<saml:AttributeValue>http://schemas.microsoft.com/ws/2014/01/unknown</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
<saml:AuthenticationStatement AuthenticationMethod="urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport" AuthenticationInstant="2019-02-26T15:30:56.000Z">
<saml:Subject>
<saml:NameIdentifier Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" NameQualifier="ISSUERNAME">67c3a3e0c379ee2341e9ce3ac58dfcff9a01284eaf7a362caa68e9ea7fac64</saml:NameIdentifier>
<saml:SubjectConfirmation>
<saml:ConfirmationMethod>urn:oasis:names:tc:SAML:1.0:cm:bearer</saml:ConfirmationMethod>
</saml:SubjectConfirmation>
</saml:Subject>
</saml:AuthenticationStatement>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
<ds:Reference URI="#_|guid|">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<ds:DigestValue>|digest value|</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>|signatureValue|</ds:SignatureValue>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>|X509Certificate|</X509Certificate>
</X509Data>
</KeyInfo>
</ds:Signature>
</saml:Assertion>
</t:RequestedSecurityToken>
<t:TokenType>urn:oasis:names:tc:SAML:1.0:assertion</t:TokenType>
<t:RequestType>http://schemas.xmlsoap.org/ws/2005/02/trust/Issue</t:RequestType>
<t:KeyType>http://schemas.xmlsoap.org/ws/2005/05/identity/NoProofKey</t:KeyType>
EDIT 2
Ниже приведены экраны настройки утверждений моего поставщика удостоверений, настройки утверждений моего поставщика услуг и экран моего профиля пользователя после его подготовки.В своих утверждениях Identity Provider я пробовал без расширенной настройки утверждений, а настройки, показанные на рисунке, без различия в результатах.
Настройка утверждений Identity Provider
Настройка утверждений поставщика услуг
Профиль пользователя
РЕДАКТИРОВАТЬ 3 Итак, я вошел в отладчик во время подготовки,и по какой-то причине у меня есть только две претензии, хотя в ответе SAML их почти 20. Доступные заявки на время подготовки