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 09:42] – [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 345: | Linea 395: | ||
| [[https:// | [[https:// | ||
| - | Questo URI consente di ottenere l informazioni principali contenute nel Metadata dell' | + | Questo URI consente di ottenere l informazioni principali contenute nel Metadata dell' |
| __Specifiche OAuth2 implementate e supportate__: | __Specifiche OAuth2 implementate e supportate__: | ||
| Linea 364: | Linea 414: | ||
| * client_id | * client_id | ||
| * client_secret | * client_secret | ||
| - | * resource indicator (obbligatorio | + | * resource indicator (parametro |
| + | |||
| + | il parametro | ||
| 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 370: | 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' | ||
| Linea 391: | Linea 445: | ||
| {{ : | {{ : | ||
| - | Esempio | + | Esempio |
| - | {{ : | + | {{ : |
| + | Esempio response caso token valido: | ||
| + | |||
| + | {{ : | ||
| ===== Utilizzo dell' | ===== Utilizzo dell' | ||
| Linea 416: | Linea 473: | ||
| {{ : | {{ : | ||
| + | |||
| + | {{ : | ||
guide_pubbliche/howto/identity/shibbolethsp_config.1737020555.txt.gz · Ultima modifica: da riccardo.cappone@unipr.it
