Sto imparando a conoscere Thinktecture Identity Server v2 e considerando di implementarlo come soluzione single sign on per le app / servizi da 3 a 4 che la nostra azienda sta sviluppando per i nostri clienti. Le applicazioni utilizzano una combinazione di moduli ASP.NET, Web API e socket Web SignalR. L'aggiunta dell'utente può essere eseguita solo da un utente fidato che ne aggiunge un altro.
Dopo aver letto e guardato per alcune ore ho alcune domande di base:
1) I server delle applicazioni richiedono round trip al server di autenticazione ad ogni richiesta? In caso contrario, come funziona, tutti i server condividono una chiave di decrittazione che viene utilizzata per decrittografare un token?
2) Perché è meglio che seguire un approccio più simile a questo: link . Se lo facessi, fornirei tutti i miei server di app (incluso il server di autenticazione) con una chiave di crittografia che sarebbe utilizzata per crittografare e decodificare i token che potrebbero essere memorizzati come cookie o nella memoria locale sul browser client. Il server di autenticazione rispondeva alle mie altre applicazioni solo per sapere se i credenziali di un utente non autenticato fossero buoni per creare un token. Una richiesta verrebbe considerata autentica se il token viene decrittografato nel formato corretto.
Qualcuno invariabilmente mi dirà che ho bisogno di leggere di più, ma ho paura di ottenere una settimana o due nel dispiegamento e scoprire che la sua performance di uccisione o qualcosa del genere.