guide_pubbliche:howto:identity:shibbolethsp_config
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| guide_pubbliche:howto:identity:shibbolethsp_config [2025/01/16 10:24] – [Ruoli] riccardo.cappone@unipr.it | guide_pubbliche:howto:identity:shibbolethsp_config [2025/09/30 11:22] (versione attuale) – [PKCE (Proof Key for Code Exchange)] riccardo.cappone@unipr.it | ||
|---|---|---|---|
| Linea 75: | Linea 75: | ||
| Per tutti gli entityID non riferiti al dominio unipr.it occorre concordare il rilascio degli attributi, che saranno filtrati e rilasciati in maniera puntuale da parte del nostro IdP. | Per tutti gli entityID non riferiti al dominio unipr.it occorre concordare il rilascio degli attributi, che saranno filtrati e rilasciati in maniera puntuale da parte del nostro IdP. | ||
| + | Logout URL che il service provider può utilizzare per attivare la funzione di SLO | ||
| + | **https:// | ||
| ===== Istruzioni ===== | ===== Istruzioni ===== | ||
| Linea 186: | Linea 187: | ||
| | | ||
| | | ||
| - | ===== Flusso autorizzativo adottato dal nostro OP ===== | + | ===== Flusso autorizzativo |
| + | (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 194: | Linea 197: | ||
| {{: | {{: | ||
| + | |||
| + | ===== Flussi autorizzativo adottati dal nostro OP ===== | ||
| + | |||
| + | " | ||
| + | " | ||
| + | " | ||
| + | "code id_token", | ||
| + | "code id_token token" | ||
| + | ] | ||
| + | |||
| + | === response_type => id_token (implicit flow) === | ||
| + | | ||
| + | In questa modalità è attivo solamente l' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | === response_type => code (Authorization code flow) === | ||
| + | | ||
| + | Quando il valore di response_type è code, ma openid non è incluso nel parametro di richiesta scope, la richiesta è semplicemente un Authorization Code Flow come definito nella RFC 6749. D' | ||
| + | |||
| + | |||
| + | {{: | ||
| + | |||
| + | === response_type => code id_token (Hybrid Flow) === | ||
| + | | ||
| + | Quando il valore di response_type è code id_token, vengono emessi un codice di autorizzazione e un ID Token dall' | ||
| + | |||
| + | {{: | ||
| + | |||
| + | |||
| + | === response_type => code id_token token (Hybrid Flow) === | ||
| + | | ||
| + | Quando il valore di response_type è code id_token token, vengono emessi un codice di autorizzazione, | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ===== 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' | ||
| + | </ | ||
| + | |||
| + | Il flusso del Codice di Autorizzazione è intrinsecamente più sicuro del Flusso Implicito perché gestisce lo scambio dei token sul back-channel (server-to-server), | ||
| + | |||
| + | 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: | [[guide_pubbliche: | ||
| Linea 368: | Linea 418: | ||
| il parametro resource richiesto dal client, sarà utilizzatto come audience nei token che verranno rilasciati. Questo valore di audience sarà verificabile solamente dal Server della risorsa che avrà il corrispondente client_id (e client_secret) per verificarlo via introspezione. | il parametro resource richiesto dal client, sarà utilizzatto come audience nei token che verranno rilasciati. Questo valore di audience sarà verificabile solamente dal Server della risorsa che avrà il corrispondente client_id (e client_secret) per verificarlo via introspezione. | ||
| - | Questo parametro verrà comunicato in fase di registrazione dei Metadata del Client e del Server di risorsa. | ||
| Il client deve effettuare la request autorizzativa verso il server di autorizzazione richiedendo obbligatoriamente: | Il client deve effettuare la request autorizzativa verso il server di autorizzazione richiedendo obbligatoriamente: | ||
| Linea 374: | Linea 423: | ||
| * redirect_uri=< | * redirect_uri=< | ||
| * scope=openid profile email spid offline_access | * scope=openid profile email spid offline_access | ||
| + | * resource=< | ||
| Il metodo di autenticazione da utilizzare quando il Client si autentica con il Server autorizzativo è client_secret_basic (credenziali vengono inviate nell' | Il metodo di autenticazione da utilizzare quando il Client si autentica con il Server autorizzativo è client_secret_basic (credenziali vengono inviate nell' | ||
guide_pubbliche/howto/identity/shibbolethsp_config.1737023090.txt.gz · Ultima modifica: da riccardo.cappone@unipr.it
