italia / design-shibboleth-idp-theme

Bootstrap Italia template for Shibboleth IdP > 4.1
Apache License 2.0
9 stars 4 forks source link

anti-CSRF tokens #3

Open scolagreco opened 1 year ago

scolagreco commented 1 year ago

https://github.com/italia/design-shibboleth-idp-theme/blob/32f162e8302f9d7033f48b7d64156ad0c6ce0bb5/views/intercept/attribute-release.vm#L48

Come è scritto qui: https://shibboleth.atlassian.net/wiki/spaces/IDP4/pages/1280180737/Cross-Site+Request+Forgery+CSRF+Protection#%5BinlineExtension%5DInjecting-anti-CSRF-tokens-into-views andrebbe aggiunta, sotto quella indicata, la riga: #parse("csrf/csrf.vm") Magari anche commentata e con aggiunta una nota nel README per comunicare che se si abilita il Consent, senza quella riga non funziona. Ma, anche se presente nel file (non commentata ma attiva), non cambierebbe nulla (non dovrebbe dare errori) e funzionerebbe comunque tutto, quindi io la aggiungerei per default.

Mi è capitato perché, quando si abilita il Consent, vengono creati i seguenti file:

Di cui:

Sono pagine basate sul template originale di Shibboleth. Per default non sono presenti nella view originale. Ma nella view fornita da voi con il template, sono presenti, però non vengono sovrascritti da quelli creati, perché a quelli creati viene aggiunto .idpnew . Usando quelle nuove funzionava, invece usando quelle di questo progetto dopo il consent si ottiene un errore relativo proprio al CSRF Token. Ho cercato e trovato la pagina di Shibboleth indicata sopra, dopo aver aggiunto la riga al file fornito da voi ha funzionato anche con quello. Io ho fatto la prova modificando solo attribute-release.vm, perché ho attivato solo il consent e non l'approvazione dei "terms-of-use" ma andrebbe fatta la modifica anche nel file terms-of-use.vm . (La versione di Shibboleth IdP su cui sto lavorando io è la 4.2.1)

peppelinux commented 1 year ago

Ciao Stefano,

da quello che so Unical non usa più Shibboleth neanche per eduGAIN, ormai usa soltanto uniAuth

questo template è il lavoro fatto per shibboleth 3.6, quando è sopraggiunta l'esigenza di migrare a shibboleth 4 la migrazione è stata fatta ma shibboleth è stato comunque abbandonato perché ad ogni upgrade il lavoro di migrazione è stato troppo pesante, dai 9 ai 20 giorni lavorativi tra allineamento configurazione e collaudi.

Per questa ragione Unical è migrata ad uniAuth che va come un orologio, lo trovi qui: https://github.com/UniversitaDellaCalabria/uniAuth

Lascio a @francesco-filicetti la parola sulla retrospettiva dei lavori in Unical

Per quanto riguarda questo progetto, se nella tua organizzazione usate shibboleth, ritienimi a tua disposizione per abilitarti come manutentore di questo repository, una volta acquisita la tua PR per la risoluzione di questa issue

scolagreco commented 1 year ago

Ciao Giuseppe, scusa ma ho visto la tua risposta solo ieri. Si usiamo Shibboleth come IdP per IDEM e eduGAIN (ed un paio di cose interne). Visto che dovevo ormai aggiornare l'IdP, ad una delle ultime versioni, ho anche pensato di rifargli il look. Ed ho trovato questo vostro progetto, che per me era perfetto. Poi dovrò vedere, se piaceranno l'aspetto e le mie customizzazioni lo useremo, altrimenti non so. Tra oggi e domani faccio il fork, la modifica e poi la pr (in questo caso non mi preoccupo, la modifica è piccolissima e non fa danni ;) ). Per quanto riguarda il fatto di manutenere il progetto, non è proprio il mio mestiere il design dei siti web, però se trovo altre cose che permettono di adattare il tutto alla versione che uso dell'IdP sicuramente le riporto. Tieni comunque presente che non facciamo proprio la corsa all'update/upgrade dell'IdP.

peppelinux commented 1 year ago

Sono certo che la comunità IDEM Garr possa offrire risorse dedicate a shibboleth, facciamo un pensiero nell'eventualità di forkare o rinnovare il team di manutentori di questo repo se all'interno di IDEM ci fossero personalità interessate come te ed intenzionate a mettere in comune questa risorsa

francesco-filicetti commented 1 year ago

Ciao ragazzi, mi era sfuggita la conversazione. Ovviamente mi trovate d'accordo. Non usando più Shibboleth il mantenimento della libreria è purtroppo passato in secondo piano qui da noi. Vai @scolagreco , grazie fin da ora