SPID Docker - "AuthnRequest non supera i controlli strict"

Sto provando l’ambiente di test SPID con docker. Ho creato l’ SP metadata con Keycloack importando il metadata dell’ IDP del validator dall’url https://localhost:8080/metadata.xml
Non ci sono problemi di collegamento entrando dal service provider con l’utente validator ( vedi figura allegata ).

Adesso dovrei far funzionare l’ambiente demo in docker con gli utenti, Cesare per esempio.
Ho creato l’ SP metadata con Keycloack importando il metadata dell’ IDP dal seguente url
https://localhost:8080/demo/metadata.xml
Di seguito la procedura.
1 - creazione SP metadata importando il metadata dell’ ISP dall’url
https://localhost:8080/demo/metadata.xml
e inserendo le seguenti opzioni
Want Assertions signed = On
AssertionConsumerService with index = 0
Principal type = Attribute[Name]
2 - Creazione di un Identity provider mapper
First Name
3 - Modifica manuale del file metadata per i campi obbligatori di SPID
Organization, ContactPerson
ed inserimento di
xmlns:spid=“https://spid.gov.it/saml-extensions
AssertionConsumerService index = 0
4 - Firma dell’SP metadata con il progetto Progetto SPID-Metadata-Signer-Windows
rif GitHub - ermannog/SPID-Metadata-Signer-Windows: Script e Tools per la firma del metadata SAML SPID in ambiente Windows
5 - Download del file nel validator
https://host.docker.internal:7037/spid/descriptorSP29Signed.xml
6 - test validazione
La validazione strict ed extra hanno esito positivo

Adesso invio la richiesta da Keycloack come avevo fatto con il profilo precedente ed ottengo un errore.
“AuthnRequest non supera i controlli strict”

Avete qualche suggerimento?
Qualcuno in Italia riesce ad utilizzare l’ambiente demo in docker? Ci sono alternative di test?

Io uso tranquillamente l’ambiente demo su docker, l’ho configurato qualche anno fa e da allora è sempre andato, non sono passato per keycloak, quindi su quella parte non ti posso aiutare. L’ho semplicemente aggiunto all’elenco degli IdP in trust sul mio applicativo.

Se vuoi un’alternativa di test (cioè lo stesso applicativo, ma non self-hosted), puoi usare direttamente quello messo a disposizione dal progetto spid: demo.spid.gov.it

Grazie per la risposta. Ad una persona funziona e questa è una buona notizia. Mi sembra chiaro quindi che sbaglio io qualcosa. Il comportamento che ho con Keycloack è lo stesso che ho nell’app di esempio che ho scaricato da GIT SPID.AspNetCore.WebApp.RazorPages ( RIF. spid-aspnetcore/samples at main · italia/spid-aspnetcore · GitHub ). Ho messo nell’appsettings.json la seguente sezione {
“EntityId”: “https://localhost:8080/demo”,
“Name”: “DemoSpid2”,
“OrganizationName”: “DemoSpid2”,
“OrganizationDisplayName”: “DemoSpid2”,
“X509SigningCertificate”: “MIIEGDCCAwCgAwIBAgIJAOrYj9oLEJCwMA0GCSqGSIb3DQEBCwUAMGUxCzAJBgNVBAYTAklUMQ4wDAYDVQQIEwVJdGFseTENMAsGA1UEBxMEUm9tZTENMAsGA1UEChMEQWdJRDESMBAGA1UECxMJQWdJRCBURZc3VRK7g4LWPWZhKdImC1rnS+/lEmHSvHisdVp/DJtbSrZwSYTRvTTz5IZDSq4kAzrDfpj16h7b3t3nFGc8UoY2Ro4tRZ3ahJ2r3b79yK6C5phY7CAENMAsGA1UEBxMEUm9tZTENMAsGA1UEChMEQWdJRDESMBAGA1UECxMJQWdJRCBURVNUMRQwEgYDVQQDEwthZ2lkLmdvdi5pdIIJAOrYj9oLEJCwMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAJNFqXg/V3aimJKUmUaqmQEEt0AlSjQOx5qvFYh1UviOjNdRI4WkYONSw+vuavcx+fB6O5JDHNmMhMySKTnmRqT … IIJkH81C0YimWebz8464QPL3RbLnTKg+c=”,
“OrganizationLogoUrl”: “https://validator.spid.gov.it/img/idp-logo.png”,
“SingleSignOnServiceUrlPost”: “https://localhost:8080/demo/start”,
“SingleSignOutServiceUrlPost”: “https://localhost:8080/demo/start”,
“SingleSignOnServiceUrlRedirect”: “https://localhost:8080/demo/start”,
“SingleSignOutServiceUrlRedirect”: “https://localhost:8080/demo/start”,
“Type”: “DevelopmentProvider”
}
Forse devo cambiare certificato? Hai qualche suggerimento da dare?


PS: Il certificato è stato tagliato in questo post

docker logs <spid-container-name> --follow
questo comando ti da qualche info in più sul motivo dell’errore?

in ho visto che nei sample dell’appsettings.json c’è già il provider demo che ti ho indicato in precedenza:
spid-aspnetcore/samples/2_IdentityServer/SPID.AspNetCore.IdentityServerSample.IdentityServer/appsettings.json at main · italia/spid-aspnetcore

ma gli url post/redirect dove li hai presi? solitamente sono verso l’endpoint /samlsso non /start.
prova a modificare quello.

Buongiorno. Il log mi da

2025-05-30 11:38:53 - POST /demo/start
Error: Unable to read SAMLResponse payload
at Object.decodeXMLPayload …
Forse ho sbagliato a mettere il certificato nel profilo.
L’url https://localhost:8080/demo/samlsso mi fa un redirect a https://localhost:8080/demo/start

Forse ho una versione dello SPID docker non corretta, adesso controllo