PaDigitale 2026: Integrazione CIE - OpenID Connect

Ciao a tutti,

sto completando con un cliente la pratica di Integrazione CIE sul portale digitale 2026. Mi sono bloccato nel momento in cui mi viene richiesta l’integrazione con OpenID Connect come di seguito:

Sul sito del cliente la login con CIE è funzionante.
E’ necessario eseguire qualche passaggio ulteriore per completare la documentazione?

Grazie,
Marco R.

a) chiedi al tuo fornitore se usa saml2 o openidconnect per ENTRA CON CIE
b) se caso saml2 devi fare il corso o far passare a oidc
c) se caso oidc senti il tuo account manager per capire come mai non riesci a risolvere quanto sopra

andrea

Ciao Andrea,

Ti ringrazio intanto molto per la risposta. In realtà scrivevo per conto del cliente ma ho fornito io CIE/SPID. Domanda magari scontata, hai per caso un riferimento su come passare a oidc? Se esiste della documentazione tecnica o un link da poter verificare.

Grazie,
Marco R.

ciao

andrea

1 Mi Piace

Buonasera @Andrea_Tironi1,

ti ringrazio intanto per il costante supporto. Temo di essermi un attimo perso nella documentazione da te linkata.

Attualmente io (faccio le veci di fornitore IT per una azienda operante nel settore pubblico) ho già una configurazione con SAML2 funzionante in ambiente di prod (metadata validato, certificati validati e tutto quello che serve). Ci sono ulteriori operazioni “burocratiche” (per le quali è necessario validare o registrare qualcosa tra ente pubblico e Agid) da fare poter validare anche la parte oidc?

Esiste magari una guida step by step per l’onBoarding tramite oidc?

Leggevo dei Trust Mark, quelli sono sempre pari alla chiave “eyJhbGc…”? Ti ringrazio ancora per l’aiuto.

Marco R.

1 Mi Piace

Buonasera @Andrea_Tironi1 ,

si tratta dello stesso documento che mi hai condiviso nella scorsa risposta. Non sono riuscito a comprendere se ci sono degli step autorizzativi da fare per cui potrebbero volerci dei tempi burocratici.

Esiste magari una guida step by step per l’onBoarding tramite oidc?

Grazie ancora,
Marco R.

ah scusa sinceramente non lo so
lo fanno i fornitori non conosco tutti i dettagli a livello di processo
mi spiace

Ti ringrazio tanto ugualmente per il supporto.

Grazie,
Marco R.

Buongiorno @mar.rossini ,

SAML2 e OIDC sono due protocolli completamente diversi,
per ottenere la federazione in CIE su protocollo OIDC, occorre realizzare un sistema di autenticazione basato su protocollo OIDC, conforme alle regole tecniche condivise da @Andrea_Tironi1 .

Ai link:

in fondo alle pagine, tra le risorse elencate, trovi anche SDK OIDC resi disponibili dalla community degli sviluppatori.

Realizzato il sistema, occorre entrare sul portale di federazione CIE (https://federazione.servizicie.interno.gov.it/) in qualità di referente tecnico per l’ente e registrare una nuova componente tecnica su protocollo OIDC indicando il riferimento all’entity configuration del Relying Party implementato.

1 Mi Piace

Ciao @damikael

ti ringrazio moltissimo per il supporto. Sei stato veramente chiaro, avevo già intenzione di utilizzare una delle SDK OICD indicate in quelle pagine.

Solo una domanda in merito all’ultimo punto: “Realizzato il sistema, occorre entrare sul portale di federazione CIE” questo è chiarissimo io ho già seguito una pratica per CIE SAML2 sul quel portale, occorre fare qualcosa invece per SPID?

Grazie mille ancora per tutto,

Marco R.

Per SPID ancora non è possibile presentare le richieste di federazione in OIDC

Scusa @damikael. Avevo segnalato un problema sul VALID
ATOR OIDC ma mi correggo. Funziona senza alcun problema

Perfetto, se avevi segnalato tramite issue su github se puoi gentilmente chiudere la issue. Grazie

Ciao @damikael, perdona ancora il disturbo ma qualche volta mi sembra di girare a vuoto tra le varie informazioni senza trovare un filo conduttore.

In fase di creazione del componente mi vengono richieste queste info:

Immagino che si tratti dell’EC del RP implementato al quale facevi riferimento; ma esiste una procedura standard per ottenere queste info? O magari dipende dalla SDK utilizzata? Nel mio caso il sistema è in aspnet (GitHub - italia/spid-cie-oidc-aspnetcore: SPID/CIE OIDC Federation SDK for AspNetCore).

Qualsiasi info penso possa essere utile per sbloccarmi da questo impasse. Grazie davvero molte per tutto l’aiuto.

Marco R.

Ciao @mar.rossini
nel primo campo devi mettere il tuo client_id, non il link all’Entity Configuration, ci pensa il server CIE a recuperarla (attenzione alla gestione della slash finale, nel caso tu usassi il componente java ed avessi il client_id con la slash, devi gestire il mapping della request).

Nel secondo campo la chiave di federazione, qui in basso alla pagina trovi un esempio di formato corretto dell’oggetto json da inserire spid-cie-oidc-java/examples/relying-party-spring-boot/README.md at main · rglauco/spid-cie-oidc-java · GitHub

Ciao @glauco,

ti ringrazio intanto per la risposta. Per client_id intendi OrganizationName della RP?

In più, per poter generare quel json, poniamo il tuo caso Java, devo avviare in locale l’app come da indicazioni, impostare i parametri relativi alla mia RP ed effettuare IN LOCALE l’onboarding? Altrimenti temo proprio mi sia sfuggito come generare quella chiave di federazione :frowning:

Grazie mille ancora,
Marco R.

In realta’ intendo proprio il claim client_id.

Ci sono alcune precondizioni prima di fare onboarding, alcune sono scritte nella pagina che ti ho linkato, in breve devi avere esposto in Internet il tuo Relaying Party con un FQDN e un cert TLS valido, possibilmente da IP italiani (altrimenti devi chiedere lo sblocco e i tempi si allungano) e fare attenzione ai campi contacts, le cui mail devono corrispondere a quella inserita nella pratica amministrativa.

Nel tuo caso con Aspnetcore nella webapp di esempio, popoli i campi appositi in appsettings.json

La generazione delle chiavi spetta a te e (nelle lib java e python invece le chiavi vengono generate per agevolare l’implementazione). Attenzione a non includere i dati relativi al certificato x509 (i claim x5c, x5t), dovresti generare chiavi raw, altrimenti avresti un errore in onboarding. Se non sai come fare, potresti provare ad usare https://mkjwk.org/

Quando hai fatto il tutto, l’EC in formato JWT viene generata dinamicamente dalla webapp collegandosi a: https://whatever/.well-known/openid-federation
La versione json sta qui: https://whatever/.well-known/openid-federation/json

Dentro ritroverai la chiave di federazione in formato jwks e potrai copiarla ed incollarla nella pagina di onboarding secondo la modalita’ descritte nella pagina che ti ho linkato.

Confesso che non sto utilizzando la lib aspnetcore, quindi non so darti al momento un aiuto concreto nell’eventuale risoluzione di problemi implementativi, ma posso almeno indirizzarti se necessario.

Ciao @mar.rossini ,

a prescindere dall’SDK utilizzato, per standard, l’entity configuration dovrebbe essere esposto alla url:

iss/.well-known/openid-federation

dove iss (issuer) è la url che identifica il RP.

All’interno dell’EC, la chiave pubblica di federazione è dichiarata nel claim jwks.

In fase di creazione del componente,

in Identificativo componente occorre inserire il valore di iss (che dovrebbe corrispondere al valore di sub)

e in Chiave pubblica di federazione occorre inserire il valore di jwks