Allegato al Capitolato Tecnico di Fornitura
Questo documento è rilasciato sotto licenza CC BY 4.0.
Autori originali: Marco De Benedetto debe@galliera.it – Simone Ferretti simone@galliera.it
E.O. Ospedali Galliera – S.C. Informatica e TLC.
Versione 1.0 – 2026.
La Stazione Appaltante ha adottato un Identity Provider (IdP) aziendale conforme agli standard OpenID Connect (OIDC) e OAuth 2.0, già operativo e integrato con i sistemi informativi interni. L’IdP costituisce il sistema centralizzato di gestione dell’identità digitale e dell’accesso alle applicazioni, e rappresenta l’unico punto di autenticazione autorizzato per gli utenti dell’organizzazione.
Tutti i software acquisiti nell’ambito della presente fornitura devono obbligatoriamente integrarsi con l’IdP aziendale esistente per l’autenticazione degli utenti, senza introdurre meccanismi di autenticazione locali alternativi o paralleli. L’obiettivo è garantire: un’esperienza di Single Sign-On (SSO) uniforme per tutti gli utenti; la gestione centralizzata del ciclo di vita delle credenziali; l’applicazione coerente delle politiche di sicurezza aziendali, inclusa l’autenticazione a più fattori (MFA); la conformità alle normative applicabili in materia di sicurezza informatica (tra cui NIS2 e le linee guida AgID).
Sono esclusi dall’obbligo unicamente i componenti tecnici privi di interfaccia utente (es. daemon, agenti di raccolta dati, servizi batch), per i quali dovrà comunque essere documentata la modalità di autenticazione adottata e motivata la non applicabilità del flusso OIDC.
M = Obbligatorio | S = Raccomandato
| ID | Requisito | Priorità |
|---|---|---|
| OIDC-01 | Implementazione del ruolo di Relying Party conforme a OpenID Connect Core 1.0. | M |
| OIDC-02 | Supporto al flusso Authorization Code Flow con PKCE (RFC 7636) come flusso primario. | M |
| OIDC-03 | Rilevamento automatico degli endpoint IdP tramite Discovery (/.well-known/openid-configuration). |
M |
| OIDC-04 | Validazione dell’id_token: firma (JWKS), issuer, audience, expiry, nonce. |
M |
| OIDC-05 | Logout federato (RP-Initiated Logout 1.0) con notifica all’IdP alla disconnessione. | M |
| OIDC-06 | Assenza di form di login locale per gli utenti finali; eventuali account di emergenza devono essere documentati e sottoposti ad audit. | M |
| OIDC-07 | Assenza di flussi di autenticazione diversi da OIDC (parametri URL, header HTTP o configurazioni di sviluppo lasciate attive in produzione). | M |
| OIDC-08 | Tutti i parametri di integrazione (Issuer URL, Client ID, Secret, scopes, redirect URI) configurabili via file di configurazione o variabili d’ambiente. | M |
| OIDC-09 | Il Client Secret NON deve essere codificato direttamente all’interno del codice sorgente o nei file binari distribuiti. | M |
| OIDC-10 | Mappatura configurabile tra claim OIDC (es. groups, roles) e ruoli/permessi applicativi interni. |
M |
| OIDC-11 | Comunicazioni con l’IdP esclusivamente su TLS 1.2+, con verifica del certificato. | M |
| OIDC-12 | Compatibilità con IdP conformi a OIDC standard (es. Keycloak, Authentik, Microsoft Entra ID) senza dipendenze da estensioni proprietarie. | M |
| OIDC-13 | Supporto al rinnovo silenzioso della sessione tramite refresh token o prompt=none. |
S |
| OIDC-14 | Supporto al back-channel logout (OIDC Back-Channel Logout 1.0). | S |
| OIDC-15 | Il software DEVE supportare almeno i seguenti algoritmi di firma JWT: RS256, RS384, RS512, ES256. Algoritmi deprecati (es. HS256 con shared secret) NON DEVONO essere l’unica opzione. (rif. RFC 7518) | M |
| OIDC-16 | Il software NON DEVE richiedere modifiche non standard al comportamento dell’IdP (es. endpoint personalizzati, flussi non-standard) per funzionare correttamente. | M |
Prima del collaudo il Fornitore deve consegnare:
Il mancato rispetto dei requisiti obbligatori (M) comporta il rifiuto del collaudo e l’applicazione delle penali contrattuali. Le deroghe ai requisiti S devono essere motivate per iscritto in offerta tecnica e accettate dalla Stazione Appaltante prima della firma del contratto.
| Standard | URL |
|---|---|
| OpenID Connect Core 1.0 | https://openid.net/specs/openid-connect-core-1_0.html |
| OIDC Discovery 1.0 | https://openid.net/specs/openid-connect-discovery-1_0.html |
| RP-Initiated Logout 1.0 | https://openid.net/specs/openid-connect-rpinitiated-1_0.html |
| Back-Channel Logout 1.0 | https://openid.net/specs/openid-connect-backchannel-1_0.html |
| OAuth 2.0 – RFC 6749 | https://rfc-editor.org/rfc/rfc6749 |
| PKCE – RFC 7636 | https://rfc-editor.org/rfc/rfc7636 |