Mi trovo in una situazione di programmazione scomoda e mi aiuterà molto ad ottenere il tuo contributo in questa situazione.
Sto costruendo un'app Web che prevede di autenticare gli utenti da un'altra applicazione separata (tramite chiamate API) e anche di autenticare gli utenti dal proprio database. Essenzialmente, ci sono due basi utente separate.
Supponiamo che l'app che sto creando sia App1 e che l'altra app a cui sto effettuando le chiamate API sia App2. Questa comunicazione è solo a senso unico; App1 effettua chiamate API a App2, ma App2 non effettua chiamate a App1. Gli utenti possono registrarsi in App1 e creare un account nel database di App1, ma durante questo processo App1 effettua una chiamata API a App2 per assicurarsi che l'e-mail / nome utente inserito in App1 non sia già presente in App2.
Ora, l'altro lato di questo. Se un utente è già registrato in App2, non è necessario andare e registrarsi di nuovo in App1. Possono semplicemente accedere a App1 e accedere. In tal modo, App1 invia una chiamata API a App2 per autenticare l'utente e crea una copia dell'account utente di App2 nel proprio database (App1).
I problemi sorgono quando ci sono due utenti distinti, uno in App1 e l'altro in App2, che condividono lo stesso nome utente. Ora, quando l'utente App2 tenta di accedere ad App1, ci saranno due utenti in App1 con lo stesso nome utente! Come si può evitare uno scenario come questo? E 'questo anche un posto in cui voglio essere (lavorando con la base utenti di App2)?