spredirect

A tutti i gestori di servizi che utilizzano Shibboleth SP

Configurazione di un indirizzo di redirect

Importante: la configurazione riguardante i redirect riguardano la fase di Logout e la fase di Login
In pratica, la soluzione è semplice, ma va personalizzata in base alle esigenze del singolo sito web.

La procedura è la seguente:

  1. aprire con un editor il file shibboleth2.xml,
  2. trovare la sezione corrispondente al tag “Sessions”
  3. aggiungere il parametro redirectLimit e, in base ai valori di quest’ultimo, eventualmente un secondo parametro.

Esempi
(per Shibboleth SP versione >= 2.5 e < 3.2)
<Sessions … redirectLimit="exact+whitelist" redirectWhitelist="https://www.unipd.it/" >


(per Shibboleth SP versione >= 3.2)
<Sessions … redirectLimit="exact+allow" redirectAllow="https://www.unipd.it/" >
Nota: I valori dei parametri redirectWhitelist e redirectAllow vanno considerati come dei prefissi: in questa configurazione sono consentiti, come parametro “return” nella chiamata [URL servizio]/Shibboleth.sso/Logout?return=[url arbitrario], tutti gli URL che inizino con:
https://www.unipd.it/
come ad esempio:
https://www.unipd.it/pagina1
https://www.unipd.it/pagina2/pagina3
ecc.ecc.

Attenzione: una volta effettuata la configurazione, assicurarsi che l’indirizzo specificato nel parametro redirect sia conforme a quello specificato nella whitelist, slash finale compreso  al termine di ogni sezione "Esempi"
La keyword “exact” serve ad includere, oltre alla whitelist, anche gli url che inizino con l’indirizzo del servizio: ad esempio, se il servizio è https://info.ict.unipd.it/, exact includerà tutti i redirect (sottolineo, di Logout e di Login) che inizino con https://info.ict.unipd.it/

Configurazione di più indirizzi di redirect


Se si vogliono utilizzare più indirizzi, si possono aggiungere nel parametro redirectWhitelist o redirectAllow, separati da spazi.

Esempi:
(per Shibboleth SP versione >= 2.5 e < 3.2)
Sessions … redirectLimit="exact+whitelist" redirectWhitelist="https://www.unipd.it/ https://altrosito.unipd.it/" >
per Shibboleth SP versione >= 3.2
<Sessions … redirectLimit="exact+allow" redirectAllow="https://www.unipd.it/ https://altrosito.unipd.it/" >
In questo modo i redirect consentiti saranno tutti quelli che iniziano con
https://www.unipd.it/ o https://altrosito.unipd.it/


Attenzione: una volta effettuata la configurazione, assicurarsi che l’indirizzo specificato nel parametro redirect sia conforme a quello specificato nella whitelist, slash finale compreso al termine di ogni sezione "Esempi"
Esistono vari altri valori possibili per il parametro redirectLimit (consulta la guida https://shibboleth.atlassian.net/wiki/spaces/SP3/pages/2065334342/Sessions per maggiori dettagli)


Configurazioni complesse


Nota: l’esempio presentato va bene per configurazioni semplici o per configurazioni più complesse che presentino un numero limitato di url di redirect post Logout possibili; alcune configurazioni maggiormente complesse meritano una valutazione a parte. In taluni casi potrà essere opportuno utilizzare anche le funzionalità di rewrite offerte dal server web.

Versioni di Shibboleth SP < 2.5


Per queste versioni di Shibboleth non ci sono soluzioni native a noi note; è però possibile intervenire nella configurazione di Apache o del web server utilizzato, tramite ad esempio delle regole di rewrite.
Si ricorda pero’ che la versione Shibboleth SP 2.x è End Of Life e presenta vulnerabilità che non verranno corrette:
https://shibboleth.atlassian.net/wiki/spaces/SHIB2/pages/2582773796/SecurityAdvisories
Le installazioni con questa versione vanno quindi tassativamente aggiornate.

Data creazione: 05/12/2022 - 18:28
Ultima modifica: 12/12/2022 - 10:32