italia / spid-cie-php

Software Development Kit for easy SPID/CIE access integration with simplesamlphp - developed and mantained by Michele D'Amico (@damikael)
https://italia.github.io/spid-cie-php/
Apache License 2.0
81 stars 36 forks source link

spid metadata: xmlns di spid:IPACode e spid:Public #217

Open LDAV opened 11 months ago

LDAV commented 11 months ago

SPID tech risponde alla richiesta: i tag e non devono contenere l'estensione xmlns:spid="https://spid.gov.it/saml-extensions" Se provo a toglierli il demo validator riporta: failure - value: Namespace prefix spid on IPACode is not defined, line 45, column 20 (, line 45): Namespace prefix spid on IPACode is not defined, line 45, column 20 (, line 45)

come uscirne?

damikael commented 11 months ago

Buongiorno @LDAV , da XML e da protocollo standard SAML non è strettamente necessario che i namespace siano presenti sul tag padre alla radice del documento ma possono essere presenti anche direttamente sul tag interessato o sul tag immediatamente superiore. In ogni caso, è possibile agire nel seguente modo:

  1. modificare il metadata spostando il namespace sul tag radice (EntityDescriptor)
  2. eliminare dal metadata la sezione Signature, se presente
  3. rifirmare il metadata tramite lo script spid-cie-php/metadata-signer: php metadata-signer.php <metadata_unsigned.xml> <metadata.xml> spid
damikael commented 11 months ago

Rif. https://www.w3.org/TR/xml-names/#scoping-defaulting

LDAV commented 11 months ago

queste le modifiche:

/setup/simplesamlphp/lib/SimpleSAML/Metadata/SAMLBuilder.php aggiunta dopo la riga 115 $xml->setAttribute("xmlns:spid", "https://spid.gov.it/saml-extensions");

sostituite le righe 839 e 840 con $ext_elem_code = $ext_dom->createElement('spid:IPACode', $details['spid.codeValue']); $ext_elem_type = $ext_dom->createElement('spid:Public', '');

Demo Validator ok. In attesa dell'approvazione di SPID tech

damikael commented 11 months ago

Grazie per il contributo @LDAV , se vuoi puoi proporre le modifiche con PR.

Michele

LDAV commented 11 months ago

aspetto l'approvazione, poi se va tutto liscio aggiungo request.