italia / spid-testenv2

New test Identity Provider for SPID
GNU Affero General Public License v3.0
35 stars 38 forks source link

SPNameQualifier: item not allowed #313

Closed efabris closed 3 years ago

efabris commented 3 years ago

Buongiorno,

stiamo integrando il nostro service provider con l'Identity Provider di test di SPID.

Stiamo utilizzando l'immagine italia/spid-testenv2 ef7edfbf5838, presente su docker hub.

In fase di Logout (SP Initiated), l'Identity Provider di test ritorna questo errore:

image

Teoricamente l'SPNameQualifier è un attributo corretto per il NameID in fase di Logout Request.

E' un problema del solo ambiente di test o è una regola per gli IDP SPID?

Allego anche il nodo NameID completo:

<saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" NameQualifier="http://localhost:8088" SPNameQualifier="http://localhost/sp/saml/2.0/73c57f73-9a08-4f03-a756-54acf0f9594e?domain_id=6998cb52-81fb-49d6-81e3-8334cf883594" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">id_559a5dc4b908a8c04c97aba1d00c0b68edf38530 </saml2:NameID>

archetipo commented 3 years ago

Ciao @efabris

ho avuto anche io lo stesso problema, non ho trovato letteratura specifica in merito, ma sostituendo saml2:NameID con saml:NameID non viene generata eccezione dal test-env, e nel SP di test viene effettuato il logout.

Questo non risponde alla tua domanda

E' un problema del solo ambiente di test o è una regola per gli IDP SPID?

Che rimane anche un mio dubbio.

peppelinux commented 3 years ago

Questo è un esempio di SPID Logout Request che funziona sia in spid-testenv2 che in spid-saml-check

<samlp:LogoutRequest xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
                     xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
                     xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
                     ID="id-RaTkzPZZQcUUZ8OYF"
                     Version="2.0"
                     IssueInstant="2021-02-28T23:36:22Z"
                     Destination="http://localhost:8088"
                     >
    <saml:Issuer NameQualifier="http://localhost:8000/spid/metadata"
                 Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"
                 >http://localhost:8000/spid/metadata</saml:Issuer>
    <ds:Signature Id="Signature1">
        <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="#id-RaTkzPZZQcUUZ8OYF">
                <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>e75CaPf9dEMZxnOl2S9hSyVyiBGs14adtuMbTQJVyU4=</ds:DigestValue>
            </ds:Reference>
        </ds:SignedInfo>
        <ds:SignatureValue>RO [....................] wYw==</ds:SignatureValue>
        <ds:KeyInfo>
            <ds:X509Data>
                <ds:X509Certificate>MIIDa [ ............... ] HMULAdoq</ds:X509Certificate>
            </ds:X509Data>
        </ds:KeyInfo>
    </ds:Signature>
    <saml:NameID NameQualifier="http://localhost:8088"
                 Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"
                 >id_8a6d9ece88f7bbcbf9d0bc8bf1b2c7e72d62e436</saml:NameID>
    <samlp:SessionIndex>id_cad9707f2e8064fc6a2c2681d55d4fa32758a072</samlp:SessionIndex>
</samlp:LogoutRequest>