Я отправляю ответ SAML Ping Federate. Если ответ SAML содержит атрибуты SAML, то он работает правильно, тогда как если ответ SAML не содержит атрибутов SAML, он выдает следующую ошибку:
Ответный XML недействителен. Ошибки: [ошибка: cvc-complex-type.2.4c:
Атрибут ожидаемых элементов @ urn: oasis: names: tc: SAML: 2.0: утверждение
EncryptedAttribute @ urn: oasis: names: tc: SAML: 2.0: утверждение 'перед
конец содержимого в элементе
AttributeStatement @ урна: оазис: имена: дц: SAML: 2,0: утверждение]
.
Ниже приведен ответ SAML (без атрибутов SAML), который выдает эту ошибку:
<?xml version="1.0" encoding="UTF-8"?>
<saml2p:Response xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" Destination="https://test/sp/ACS.saml2" ID="frtgckggfpwphf_vxeatxzlvgrq" IssueInstant="2018-08-30T11:50:38.183Z" Version="2.0">
<saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">Test</saml2:Issuer>
<saml2p:Status>
<saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</saml2p:Status>
<saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" ID="_4947dc191f01c1e98d448c2fadd5c289" IssueInstant="2018-08-30T11:50:38.183Z" Version="2.0">
<saml2:Issuer>Test</saml2:Issuer>
<saml2:Subject>
<saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">testUser</saml2:NameID>
<saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml2:SubjectConfirmationData NotOnOrAfter="2018-08-30T11:52:38.183Z" Recipient="https://test/sp/ACS.saml2"/>
</saml2:SubjectConfirmation>
</saml2:Subject>
<saml2:Conditions NotBefore="2018-08-30T11:50:38.183Z" NotOnOrAfter="2018-08-30T11:52:38.183Z">
<saml2:AudienceRestriction>
<saml2:Audience>TestAudience</saml2:Audience>
</saml2:AudienceRestriction>
</saml2:Conditions>
<saml2:AuthnStatement AuthnInstant="2018-08-30T11:50:38.184Z" SessionIndex="_4947dc191f01c1e98d448c2fadd5c289">
<saml2:AuthnContext>
<saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</saml2:AuthnContextClassRef>
</saml2:AuthnContext>
</saml2:AuthnStatement>
<saml2:AttributeStatement/>
</saml2:Assertion>
</saml2p:Response>
Я полагаю, это может быть из-за
<saml2:AttributeStatement/>
но онлайн-инструменты говорят, что приведенный выше XML действителен.
Требуется ли для Ping Federate определенный формат ответа SAML (т.е. без 'saml2: AttributeStatement', если отсутствуют атрибуты SAML), или это вообще совершенно другая проблема?
Спасибо