Penso che tu abbia frainteso il funzionamento del Single Sign-On.
Consente di considerare sito1 e sito2 che desiderano utilizzare il profilo di accesso singolo.
Un sito Web di accesso viene creato su identityProvider. Questo è l'unico posto in cui appare una schermata di accesso.
Quando l'utente visita il sito1 e sceglie di accedere al sito Web1, invia l'utente alla schermata di accesso su identityProvider. L'utente accede a identityProvider che elimina il proprio cookie di accesso per il suo dominio (e forse consente all'utente di salvare le proprie informazioni di autenticazione in modo che non vengano mai più richieste). Quindi reindirizza il browser al sito Web1 includendo un token nella richiesta che website1 apre, acquisisce informazioni sull'identità e esegue i propri bit di accesso (eliminando il proprio cookie di autenticazione che dura per quanto vuole).
Quindi l'utente visita il sito Web2 e seleziona l'accesso. Website2 rimbalza l'utente su identityProvider, che sa già chi è l'utente e, se l'utente ha scelto di salvare le proprie informazioni di accesso, si autentica in silenzio e poi reindirizza nuovamente al sito2 con un altro token che website2 si apre e quindi esegue i propri bit di accesso.
C'è un sacco di sicurezza intorno ad esso, limitando i token a particolari siti web, i token da inviare a siti web whitelist ecc ecc
Quindi, per affrontare le vostre preoccupazioni
- utente accede consentendo solo sito1 e quindi passa a sito2. In che modo website2 saprà che l'utente ha effettuato l'accesso? Non è così. website2 deve prima richiedere le informazioni di autenticazione dal sito di single signon.
- Ciò significa che devo eseguire il marshalling di tutti gli URL nel sito Web1 che richiede il sito2? No, a meno che tu non crei anche il sito web1 come fornitore di identità. Anche in questo caso, sarebbe doloroso, meglio avere reindirizzamenti website2 al provider di identità se è necessario un token.
- In secondo luogo se l'utente continua a navigare sul sito Web2 per dire 1 ora e quindi passa al sito1. A quel punto, la sessione del sito Web 1 è scaduta, quindi l'utente vedrà una pagina di accesso, vero? - Dipende da come si configura website1 e da quanto tempo dura il cookie di autenticazione.
- Ma questo comportamento è errato in base alla funzionalità Single Sign-On. No non lo è. Single signon non significa che ottieni un token floating condiviso tra i siti. Ogni sito Web che utilizza il single sign-on crea ancora il proprio cookie di autenticazione. Ciò che potrebbe accadere è se l'utente torna al sito web1 rileva un cookie di autenticazione scaduto, quindi invia nuovamente l'utente alla pagina di single signon dove sono autenticati (silenziosamente) e un nuovo token viene reindirizzato al sito1 che crea un nuovo cookie di autenticazione per sé.
Questa è Single Authentication e non Single Sign On, è necessario accedere N volte per N siti con la stessa autenticazione. –
È necessario distinguere tra autenticazione e autorizzazione. Puoi autorizzare un utente che significa che tu sai di essere chi pretende di essere, ma è comunque necessario autorizzare quell'utente, su uno dei 2 siti Web, ad accedere a contenuti che possono e non possono accedere su ciascun sito. Il token scadrà ma di solito può essere aggiornato per mantenere l'accesso. – htm11h