Open marcoz-tsn opened 6 years ago
ti consiglio di leggere (se non l'hai già fatto) l'Avviso n. 3 - Chiarimenti sulla gestione delle sessioni SSO e meccanismo di Single logout qui: https://www.agid.gov.it/it/piattaforme/spid/avvisi-spid
come alternativa potreste operare un solo SP e gestire i due servizi A e B come due Assertion Consumer Services dentro l'SP, vedi Avviso n. 6 - Note sul dispiegamento di SPID presso i gestori dei servizi
grazie per la dritta, è stata una lettura interessante che mi ha confermato però quanto sospettavo, ovvero che l'attuale implementazione SAML2 di SPID non supporta il SSO tra diversi domini, ovvero per esempio tra diverse amministrazioni
sai indicarmi se è previsto il supporto in futuro? grazie
Buongiorno @marcoz-tsn, il comportamento che descrivi è quanto è effettivamente previsto da SPID. La sessione di Single Sign-On presso l'Identity Provider dura 30 minuti (per il solo livello 1), durante i quali l'Identity Provider non chiede nuovamente le credenziali ma chiede solo l'autorizzazione a trasferire gli attributi. Nel testenv2 la sessione SSO non è stata implementata, essendo lo strumento finalizzato alla validazione delle implementazioni. Più avanti possiamo pensare di introdurre questo comportamento per simulare al meglio quello che avviene in produzione.
Grazie @alexrj, sarebbe, penso, davvero una cosa utile avere questa feature in test, proprio per equiparare l'ambiente a quello di produzione. Attendo fiducioso
ciao ci sono novità rispetto l'implementazione di questa funzionalità (SSO tra distinti SP)? grazie
Qui ad oggi dovremmo considerare una gestione di SameSite cookie per ottenere il SSO tra entità cross domain
Lo scenario è composto dall'accoppiata tra spid-dotnet-sdk come SP e spid-testenv2 come IdP. I due siti web dotnet (mappati in IIS), diciamo A e B, sono ciascuno un Service Provider con proprio dominio e coppia di chiavi, registrato nello spid di test.
Il comportamento desiderato è il seguente: 1 - accedo al sito A (senza cookie di sessione) -> vengo reindirizzato allo spid di test 2 - in spid non ho una sessione, quindi viene richiesta l'autenticazione 3 - mi autentico e vengo reindirizzato, con un dato insieme di asserzioni, al sito A (in cui viene impostato un proprio cookie di sessione) 4 - accedo al sito B (senza cookie di sessione) -> vengo reindirizzato allo spid di test 5 - in spid ho già una sessione -> NON deve essere richiesta nuovamente l'autenticazione 6 - vengo reindirizzato, con un insieme di asserzioni eventualmente diverso, al sito B (in cui viene impostato un proprio cookie di sessione)
Da quanto ne so, affinché il punto 5 si realizzi è necessario che l'IdP nel compiere il passaggio 3 imposti a sua volta un cookie (quindi legato al proprio dominio) in modo che il browser eseguendo il punto 4 glielo invii. Il punto è che via Fiddler non vedo traccia di alcun cookie gestito dallo spid di test, e quindi sono costretto a riautenticarmi al sito B, vanificando uno dei maggiori benefici di SAML.
E' possibile intervenire in qualche modo?