Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
Entrambe le parti precedenti la revisione Revisione precedente Prossima revisione | Revisione precedente | ||
guide_pubbliche:howto:identity:shibbolethsp_config [2025/09/30 09:22] riccardo.cappone@unipr.it [Flusso autorizzativo adottato dal nostro OP] |
guide_pubbliche:howto:identity:shibbolethsp_config [2025/09/30 11:22] (versione attuale) riccardo.cappone@unipr.it [PKCE (Proof Key for Code Exchange)] |
||
---|---|---|---|
Linea 187: | Linea 187: | ||
| | ||
| | ||
- | ===== Flusso autorizzativo semplificato adottato dal nostro OP ===== | + | ===== Flusso autorizzativo implicito adottato dal nostro OP ===== |
+ | (solo per i casi di necessità di Token Immediati, Senza Chiamate Back-Channel) | ||
response_type => id_token (implicit flow) | response_type => id_token (implicit flow) | ||
| | ||
Linea 233: | Linea 235: | ||
{{:guide_pubbliche:howto:identity:code_id_token_token.png?600|}} | {{:guide_pubbliche:howto:identity:code_id_token_token.png?600|}} | ||
+ | ===== PKCE (Proof Key for Code Exchange) ===== | ||
+ | |||
+ | <WRAP center round tip 60%> | ||
+ | Il Codice di Autorizzazione con PKCE (Proof Key for Code Exchange) è oggi lo standard di sicurezza raccomandato per l'autenticazione OpenID Connect (e l'autorizzazione OAuth 2.0), in particolare per i client pubblici (come le Single Page Application, SPA, o le app mobili native). | ||
+ | </WRAP> | ||
+ | |||
+ | Il flusso del Codice di Autorizzazione è intrinsecamente più sicuro del Flusso Implicito perché gestisce lo scambio dei token sul back-channel (server-to-server), lontano dal browser, rendendo i token inaccessibili a JavaScript malevolo. | ||
+ | |||
+ | PKCE aggiunge un ulteriore livello di sicurezza per i client che non possono custodire un Client Secret (i client pubblici), proteggendo dal rischio che un codice di autorizzazione venga intercettato e utilizzato da un attaccante. | ||
===== OIDC client di esempio sviluppato in PhP ===== | ===== OIDC client di esempio sviluppato in PhP ===== | ||
[[guide_pubbliche:howto:identity:oidc_client|Esempio di OIDC client scritto in PhP]] | [[guide_pubbliche:howto:identity:oidc_client|Esempio di OIDC client scritto in PhP]] |