Abbiamo bisogno di flusso lato client o flusso lato server o entrambi per implementare il login con la funzione Facebook?
-
12-12-2019 - |
Domanda
Attualmente sul mio sito web, gli utenti accedono con il loro ID di accesso e password, sono anche necessari per inserire il loro email
quando si registrano. Sia la generazione login_id
che la colonna email
sulla tabella users
ha un indice univoco. La tabella users
memorizza anche altri dati associati all'utente come gender
, last_name
, first_name
ma questi sono campi facoltativi (nulling).
Ci sono due modifiche che vorrei apportare al sito web.
Il primo è che gli utenti possono utilizzare la loro e-mail (oltre a login_id
) per accedere. Per i nuovi utenti, quando si registrano, non hanno più bisogno di fornire un login_id
perché utilizzeranno la loro e-mail per accedere.
Il secondo cambiamento è, possono accedere con Facebook. Per i nuovi utenti, se accedono a Facebook per la prima volta, il loro UID di Facebook sarà ottenuto e memorizzato nel mio database. Ciò significa che dovrò aggiungere una colonna facebook_uid
sulla tabella users
.
Per gli utenti esistenti, quando accedono con Facebook per la prima volta, dovrei prima ottenere il loro indirizzo email dal proprio profilo Facebook e quindi verificare se esiste già un record utilizzando questa e-mail nella tabella users
, se sì, il loro Facebook UID verrà anche memorizzato sulla colonna facebook_uid
su quel record.
Secondo Facebook, la sua piattaforma supporta due diversi flussi di OAuth 2.0 per il login dell'utente: flusso lato server e flusso lato client. Quale o entrambi sono richiesti per questo caso d'uso?
Inoltre, quali problemi possono essere previsti quando implemendo le funzionalità come descrivo sopra?
Soluzione
Potresti prendere l'approccio per questo, è interamente fino a te.Entrambi i metodi ti darà i dati di cui hai bisogno, è una questione di quanto sia comodo che lavori sul retro vs front-end.Hai solo bisogno di chiedere il permesso di accedere all'indirizzo email dell'utente.
Problemi che potrebbero accadere: non sono sicuro, ma ci possono essere restrizioni legali sulla memorizzazione dell'ID Facebook dell'utente.Inoltre, cosa succede se qualcuno (non me, una persona malvagia!) Registri con il mio indirizzo email e non convalida di aver davvero accesso a quell'indirizzo, quindi quando accedo tramite Facebook, l'app assumerà che siamo ilLa stessa persona e il malvagio hacker ora ha accesso al mio account.Scenario improbabile ma potrebbe accadere ...