Qual è il flusso corretto per l'autenticazione?

2

Ho il compito di migrare un gruppo di applicazioni .Net WebForm da uno schema di login utente / password personalizzato corrente a un'autenticazione e un'autorizzazione basate su oauth2 / openid connect. Questa specifica applicazione è molto matura e ampia. Di conseguenza, l'obiettivo è cambiare il meno possibile l'infrastruttura sottostante.

Attualmente, gli utenti effettuano il login con una combinazione di nome utente e password. Molte persone hanno più di una combinazione di nome utente / password. Vogliamo cambiare questa combinazione in una combinazione email / password. Ho configurato un IDP per eseguire l'autenticazione in questo modo che può fornire un token di identificazione. Penso che questa parte sia relativamente semplice.

La ruga proviene dai vari account che ogni utente ha attualmente. A causa della natura delle applicazioni, ho bisogno di supportare più account, collegati tra loro tramite l'indirizzo email.

Avrebbe senso avere un secondo IdP in grado di fornire l'elenco degli account collegati all'indirizzo email che può quindi fornire un token in base all'account scelto? In tal caso, qual è il modo migliore per fornire l'indirizzo email a questo secondo IdP?

Grazie per qualsiasi approfondimento.

    
posta MichaelDotKnox 25.10.2018 - 19:53
fonte

1 risposta

1

Il modo in cui descrivi il tuo problema indica che oauth non è quello che stai cercando. Oauth viene utilizzato per consentire agli utenti di utilizzare le proprie credenziali da un'altra entità (provider di identità) per accedere alla propria applicazione e accedere ai dati dell'utente dall'IDp. L'idp e l'applicazione che utilizza l'idp sono due entità diverse (ad esempio due società diverse). Quindi per esempio: su honeypot.io uso il mio nome utente e password Github. Honeypot mi inoltra al github idp. Accedo e concedo l'accesso honeypot alle mie informazioni utente (nome email ecc.). Il github idp mi inoltra nuovamente a honeypot con un token di accesso e honeypot.io ottiene i miei dati utente insieme alla garanzia di possedere quell'account. Honeypot creerà quindi un account per me con i miei dati github.

Se c'è una sola parte coinvolta (il tuo caso) non hai bisogno di un idp e nessun oauth. Approfittando dei casi d'uso concreti potresti voler semplicemente consentire agli account di utilizzare più nomi utente, che sarebbe un semplice array / elenco.

    
risposta data 25.10.2018 - 20:23
fonte

Leggi altre domande sui tag