In un sito Web gli utenti possono registrarsi tramite diversi accessi social: ex Facebook, google, github ecc. oltre alla normale registrazione e-mail.
C'è una tabella utenti per archiviare questi utenti e inoltre è necessaria una mappatura per verificare se un utente proviene da accessi di terze parti o meno.
- Una soluzione per archiviare gli utenti può trovarsi in una tabella in cui il design è il seguente: id (int), provider_user_id (stringa), provider (stringa)
Id è l'ID utente interno nel tuo sistema provider_user_id è l'id dell'utente nel sistema del provider Il fornitore può essere facebook, google etc
- La seconda soluzione è mantenere tabelle separate, ad esempio: facebook_users e ce ne sono id (int) facebook_user_id (stringa)
Fai la stessa cosa per tutti i fornitori (una tabella per ciascuno).
Quale approccio ti piace di più e perché?