# Ambiente di test ed integrazione CIE - Keycloak - OIDC

**URL:** <https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490>\
**Category:** CIE\
**Created:** [2 Maggio 2023, 1:15pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490 "2023-05-02T13:15:40Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![SamueleZ](https://forum.italia.it/letter_avatar_proxy/v4/letter/s/8dc957/32.png) [@SamueleZ](https://forum.italia.it/u/SamueleZ)\
**Post date:** [2 Maggio 2023, 1:15pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/1 "2023-05-02T13:15:40Z")

</div>

Buongiorno,  
devo integrare Keycloak con CIE utilizzando OIDC.

L’utilizzo di OIDC invece di SAML2 mi eviterebbe di usare plugin/proxy e far quindi dialogare i due sistemi in modo nativo.  
Purtroppo oltre alla documentazione tecnica [SPID/CIE OpenID Connect Regole tecniche | SPID/CIE OpenID Connect](https://docs.italia.it/italia/spid/spid-cie-oidc-docs/it/versione-corrente/index.html) non si riescono a trovare altre indicazioni. Sembra che a nessuno freghi nulla dell’integrazione con CIE.

In più mi servirebbe un ambiente “demo” OIDC dove testare l’integrazione simile a quello predisposto per SPID/SAML2. Anche qui non ho trovato nulla.

Sapete darmi indicazioni su dove recuperare le informazioni mancanti?  
Grazie

---

<div class="post-metadata">

**Author:** ![Paolo\_Del\_Romano](https://forum.italia.it/user_avatar/forum.italia.it/paolo_del_romano/32/319_2.png) [@Paolo\_Del\_Romano](https://forum.italia.it/u/Paolo_Del_Romano)\
**Post date:** [2 Maggio 2023, 1:58pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/2 "2023-05-02T13:58:21Z")

</div>

> [@SamueleZ](#):
>
> Sapete darmi indicazioni su dove recuperare le informazioni mancanti?

forse il team di @IPZS-CIE ti può essere d’aiuto

---

<div class="post-metadata">

**Author:** ![AGS](https://forum.italia.it/user_avatar/forum.italia.it/ags/32/835_2.png) [@AGS](https://forum.italia.it/u/AGS)\
**Post date:** [2 Maggio 2023, 2:49pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/3 "2023-05-02T14:49:13Z")

</div>

> [@SamueleZ](#):
>
> Purtroppo oltre alla documentazione tecnica [SPID/CIE OpenID Connect Regole tecniche | SPID/CIE OpenID Connect](https://docs.italia.it/italia/spid/spid-cie-oidc-docs/it/versione-corrente/index.html) non si riescono a trovare altre indicazioni. Sembra che a nessuno freghi nulla dell’integrazione con CIE.

Perchè la federazione basata su OIDC non è ancora attiva, nè per CIE , nè per SPID.

> [@SamueleZ](#):
>
> In più mi servirebbe un ambiente “demo” OIDC dove testare l’integrazione simile a quello predisposto per SPID/SAML2. Anche qui non ho trovato nulla.

[Questo progetto](https://github.com/italia/spid-cie-oidc-django) si pone le finalità che cerchi. Ma è da considerare un progetto in beta per le considerazione di cui sopra.

---

<div class="post-metadata">

**Author:** ![SamueleZ](https://forum.italia.it/letter_avatar_proxy/v4/letter/s/8dc957/32.png) [@SamueleZ](https://forum.italia.it/u/SamueleZ)\
**Post date:** [2 Maggio 2023, 3:12pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/4 "2023-05-02T15:12:59Z")

</div>

Grazie mille,  
ma c’è da qualche parte una roadmap con le tempistiche e lo stato del progetto?  
Perché per chi non è coinvolto in prima persona nel progetto risulta alquanto difficoltoso reperire informazioni in modo preciso. Sto raccimolando pezzi di informazione tra sito ufficiale, github, forum… e si fa fatica a capire come sia la situazione reale.

---

<div class="post-metadata">

**Author:** ![AGS](https://forum.italia.it/user_avatar/forum.italia.it/ags/32/835_2.png) [@AGS](https://forum.italia.it/u/AGS)\
**Post date:** [2 Maggio 2023, 3:24pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/5 "2023-05-02T15:24:38Z")

</div>

Nel corso del tempo sono state fornite varie date di attivazione della Federazione OIDC, ma per un motivo o per l’altro (riscrittura delle regole tecniche, contrasti e avvicendamenti fra gli IdP SPID, etc.) non sono state rispettate.  
Che io sappia, al momento non vi è una (ulteriore) data ufficiale di attivazione.

---

<div class="post-metadata">

**Author:** ![Alberto\_Pagani](https://forum.italia.it/user_avatar/forum.italia.it/alberto_pagani/32/10914_2.png) [@Alberto\_Pagani](https://forum.italia.it/u/Alberto_Pagani)\
**Post date:** [5 Ottobre 2023, 8:13am UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/6 "2023-10-05T08:13:43Z")

</div>

@AGS da quanto ho capito la federazione OIDC per CIE dovrebbe essere già stata attivata dal Poligrafico. Quello che non riesco a trovare invece sono le informazioni su come poter validare l’Entity Configuration ed utilizzare l’ambiente di test e poi quello di produzione (quali endpoint chiamare, dove si trovano i tool ufficiali di validazione…). E’ necessario avviare la procedura di onboarding per poter disporre di queste informazioni?

---

<div class="post-metadata">

**Author:** ![AGS](https://forum.italia.it/user_avatar/forum.italia.it/ags/32/835_2.png) [@AGS](https://forum.italia.it/u/AGS)\
**Post date:** [5 Ottobre 2023, 2:28pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/7 "2023-10-05T14:28:43Z")

</div>

Non ho esperienze personali, ma da quello che ho capito, si: [https://federazione.servizicie.interno.gov.it/](https://federazione.servizicie.interno.gov.it/)

---

<div class="post-metadata">

**Author:** ![Alberto\_Pagani](https://forum.italia.it/user_avatar/forum.italia.it/alberto_pagani/32/10914_2.png) [@Alberto\_Pagani](https://forum.italia.it/u/Alberto_Pagani)\
**Post date:** [16 Novembre 2023, 4:49pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/8 "2023-11-16T16:49:32Z")

</div>

Confermo che l’ambiente di test viene attivato al termine del processo di onboarding.  
Al momento della creazione della componente tecnica viene richiesto di selezionare un protocollo (OIDC), l’ambiente (pre-produzione), il client id e la chiave pubblica.  
Il problema è che quando si preme il pulsante per continuare, fallisce la validazione con un errore piuttosto generico:

“LA VALIDAZIONE NON E’ ANDATA A BUON FINE PER I SEGUENTI MOTIVI:[SUB] ELEMENTO MANCANTE”

Eppure nel metadata l’elemento “sub” è presente (sempre che il messaggio intenda quello).  
Inoltre sono riuscito a validare con successo questo stesso metadata tramite il validatore di test dello SPID (quello raggiungibile qui: [SPID OIDC CHECK RP](https://validator-test.spid.gov.it/oidc/rp/)).  
A qualcuno è capitato lo stesso problema?

---

<div class="post-metadata">

**Author:** ![seifeddine](https://forum.italia.it/letter_avatar_proxy/v4/letter/s/b5ac83/32.png) [@seifeddine](https://forum.italia.it/u/seifeddine)\
**Post date:** [21 Novembre 2023, 9:39am UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/9 "2023-11-21T09:39:05Z")

</div>

il jwt tup deve contenere il claim subject col dominio del id\_cliente [https://rp.example.it/](https://rp.example.it/) (url\_rp) non nel metadata

{  
“alg”: “RS256”,  
“kid”: “2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz\_98uRFaqMEEs”,  
“typ”: “entity-statement+jwt”  
}  
.  
{  
“exp”: 1649590602,  
“iat”: 1649417862,  
“iss”: “url\_rp”,  
**“sub”: “url\_rp”** ,  
“jwks”: {  
“keys”: [  
{  
“kty”: “RSA”,  
“n”: “5s4qi …”,  
“e”: “AQAB”,  
“kid”: “2HnoFS3YnC9tjiCaivhWLVUJ3AxwGGz\_98uRFaqMEEs”  
}  
]  
},  
“metadata”: {  
“openid\_relying\_party”: {  
“application\_type”: “web”,  
“client\_id”: “url\_rp”,  
“client\_registration\_types”: [  
“automatic”  
],  
“jwks”: {  
“keys”: [  
{  
“kty”: “RSA”,  
“use”: “sig”,  
“n”: “1Ta-sE …”,  
“e”: “AQAB”,  
“kid”: “YhNFS3YnC9tjiCaivhWLVUJ3AxwGGz\_98uRFaqMEEs”  
}  
]  
},  
“client\_name”: “Name of an example organization”,  
“contacts”: [  
“ops@rp.example.it”  
],  
“grant\_types”: [  
“refresh\_token”,  
“authorization\_code”  
],  
“redirect\_uris”: [  
“url\_rp/oidc/rp/callback/”  
],  
“response\_types”: [  
“code”  
],  
“subject\_type”: “pairwise”  
},  
“federation\_entity”: {  
“federation\_resolve\_endpoint”: “url\_rp/resolve/”,  
“organization\_name”: “PA OIDC Service Provider”,  
“homepage\_uri”: “[https://rp.example.it](https://rp.example.it)”,  
“policy\_uri”: “url\_rp/policy”,  
“logo\_uri”: “:url\_rp/logo.svg”,  
“contacts”: [  
“tech@example.it”  
]  
}  
},  
“trust\_marks”: [  
{  
“id”: “[https://registry.agid.gov.it/openid\_relying\_party/public/](https://registry.agid.gov.it/openid_relying_party/public/)”,  
“trust\_mark”: “eyJh …”  
}  
],  
“authority\_hints”: [  
"[https://regist](https://regist)  
]  
}

---

<div class="post-metadata">

**Author:** ![Alberto\_Pagani](https://forum.italia.it/user_avatar/forum.italia.it/alberto_pagani/32/10914_2.png) [@Alberto\_Pagani](https://forum.italia.it/u/Alberto_Pagani)\
**Post date:** [22 Novembre 2023, 2:06pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/10 "2023-11-22T14:06:48Z")

</div>

Ciao @seifeddine ,  
ho verificato gli elementi che vengono restituiti nel JWT e “sub” è presente:  
[https://oidc-test.klan.it/oidc\_test/.well-known/openid-federation?output=json](https://oidc-test.klan.it/oidc_test/.well-known/openid-federation?output=json)

Mi è venuto un altro dubbio però: qualunque valore inserisca nel campo “Chiave pubblica di federazione”, il portale di federazione CIE mi restituisce sempre lo stesso errore (quello di elemento “sub” mancante). Temo quindi che il problema sia a monte e cioè che per qualche motivo non riesca a decodificare il jwt ritornato a causa di una chiave errata. Nel campo “Chiave pubblica di federazione” ho inserito il valore riportato nel JWT in jwks–\>keys–\>[0]–\>x5c  
E’ corretto?

---

<div class="post-metadata">

**Author:** ![seifeddine](https://forum.italia.it/letter_avatar_proxy/v4/letter/s/b5ac83/32.png) [@seifeddine](https://forum.italia.it/u/seifeddine)\
**Post date:** [22 Novembre 2023, 2:39pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/12 "2023-11-22T14:39:32Z")

</div>

secondo me devi guardare il client\_id che hai messo perché dovrebbe essere uguale al sub e per x5c nel esempio della documentazione non l’hanno nemmeno scritto

---

<div class="post-metadata">

**Author:** ![Alberto\_Pagani](https://forum.italia.it/user_avatar/forum.italia.it/alberto_pagani/32/10914_2.png) [@Alberto\_Pagani](https://forum.italia.it/u/Alberto_Pagani)\
**Post date:** [22 Novembre 2023, 3:32pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/13 "2023-11-22T15:32:38Z")

</div>

Il client\_id è: “[https://oidc-test.klan.it/oidc\_test](https://oidc-test.klan.it/oidc_test)”, che è uguale al valore di “sub” e di “iss”.  
“client\_id” è presente in metadata–\>openid\_relying\_party-\>client\_id, come riportato ad esempio qui:  
[SPID/CIE OpenID Connect Regole tecniche | Esempi](https://docs.italia.it/italia/spid/spid-cie-oidc-docs/it/versione-corrente/esempi.html#esempio-en1-1)

---

<div class="post-metadata">

**Author:** ![seifeddine](https://forum.italia.it/letter_avatar_proxy/v4/letter/s/b5ac83/32.png) [@seifeddine](https://forum.italia.it/u/seifeddine)\
**Post date:** [22 Novembre 2023, 4:01pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/14 "2023-11-22T16:01:42Z")

</div>

invece nel metadata secondo me ti manca un pezzo di federation\_entity

---

<div class="post-metadata">

**Author:** ![Alberto\_Pagani](https://forum.italia.it/user_avatar/forum.italia.it/alberto_pagani/32/10914_2.png) [@Alberto\_Pagani](https://forum.italia.it/u/Alberto_Pagani)\
**Post date:** [22 Novembre 2023, 5:01pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/15 "2023-11-22T17:01:13Z")

</div>

Ho aggiunto la parte del federation\_entity, ma ottengo sempre lo stesso errore…

---

<div class="post-metadata">

**Author:** ![seifeddine](https://forum.italia.it/letter_avatar_proxy/v4/letter/s/b5ac83/32.png) [@seifeddine](https://forum.italia.it/u/seifeddine)\
**Post date:** [23 Novembre 2023, 7:38am UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/16 "2023-11-23T07:38:37Z")

</div>

il kid di jwks di metadata e i kid di oidc core devono essere diversi invece quello del header deve essere uguale alla chiave pubblica

---

<div class="post-metadata">

**Author:** ![proximalab](https://forum.italia.it/letter_avatar_proxy/v4/letter/p/b782af/32.png) [@proximalab](https://forum.italia.it/u/proximalab)\
**Post date:** [23 Novembre 2023, 11:46am UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/17 "2023-11-23T11:46:27Z")

</div>

Buongiorno a tutti, siamo anche noi bloccati nello stesso punto.  
Inizialmente ci veniva restituito l’errore generico “L’ENTITA’ NON RISPETTA I REQUISITI DI FEDERAZIONE” successivamente a seguito di ticket con il ministero ci viene indicato di verificare il sigillo di firma portandoci all’errore del sub.

Anche per noi il validatore e il tool in docker risulta validare con successo il metadata.

Dai nostri log risulta che il portale di cie faccia solo la chiamata alla .well-known/openid-federation e al momento non testi nessun’altra endpoint.  
Qualcuno è riuscito a risolvere?  
Non riesco a trovare nessun provider già federato in OIDC in CIE per scaricarmi la sua EC e fare le verifiche con la nostra configurazione.

Grazie Molte.

Luca

---

<div class="post-metadata">

**Author:** ![Alberto\_Pagani](https://forum.italia.it/user_avatar/forum.italia.it/alberto_pagani/32/10914_2.png) [@Alberto\_Pagani](https://forum.italia.it/u/Alberto_Pagani)\
**Post date:** [29 Novembre 2023, 9:07am UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/18 "2023-11-29T09:07:24Z")

</div>

Nel componente che sto utilizzando il kid viene calcolato in questo modo:

$x5cData = openssl\_x509\_parse(file\_get\_contents($file), false);  
$organizationIdentifier = $x5cData[‘issuer’][‘organizationIdentifier’];  
$serialNumber = $x5cData[‘serialNumber’];  
$kid = hash(‘sha256’, $organizationIdentifier . ‘.’ . $serialNumber);

Si tratta del componente “spid-cie-oidc-php” disponibile su Developers Italia.  
Per avere due kid differenti dovrei quindi utilizzare due chiavi differenti?

---

<div class="post-metadata">

**Author:** ![seifeddine](https://forum.italia.it/letter_avatar_proxy/v4/letter/s/b5ac83/32.png) [@seifeddine](https://forum.italia.it/u/seifeddine)\
**Post date:** [29 Novembre 2023, 11:16am UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/19 "2023-11-29T11:16:46Z")

</div>

si certo che potresti creare due kid diversi con la stessa chiave per esempio $kid2 = hash(‘sha256’, strtoupper($organizationIdentifier) . ‘.’ . $serialNumber); io ho aggiunto upperCase. tu potresti giocare li

---

<div class="post-metadata">

**Author:** ![Alberto\_Pagani](https://forum.italia.it/user_avatar/forum.italia.it/alberto_pagani/32/10914_2.png) [@Alberto\_Pagani](https://forum.italia.it/u/Alberto_Pagani)\
**Post date:** [30 Novembre 2023, 9:00am UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/20 "2023-11-30T09:00:16Z")

</div>

Ho modificato il kid (in effetti ci sono due kid differenti anche nell’esempio che c’è qui: [SPID/CIE OpenID Connect Regole tecniche | Esempi](https://docs.italia.it/italia/spid/spid-cie-oidc-docs/it/versione-corrente/esempi.html#en-1-1-entity-configuration-response-relying-party)), ma tentando di nuovo la creazione della componente tecnica sul portale CIE ho sempre lo stesso errore…

---

<div class="post-metadata">

**Author:** ![Leo3](https://forum.italia.it/user_avatar/forum.italia.it/leo3/32/4675_2.png) [@Leo3](https://forum.italia.it/u/Leo3)\
**Post date:** [7 Dicembre 2023, 3:53pm UTC](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490/21 "2023-12-07T15:53:51Z")

</div>

Buongiorno,  
ho anche il lo stesso problema, continuo a ricevere l’errore “[sub] Elemento mancante”, siete riusciti a risolvere o capire da cosa potesse essere causato?

Grazie  
Leo

[Pagina seguente](https://forum.italia.it/t/ambiente-di-test-ed-integrazione-cie-keycloak-oidc/34490.md?page=2)
