Accedi ai social media usando Facebook Connect

1

Sono venuto qui con un problema di lotta. Gestiamo un sito web di social media, dove le persone possono registrarsi tramite il login classico (potrebbe essere la sua e-mail o il suo nome utente) e la forma della password, ma anche utilizzando Facebook Connect.

Quando un utente sceglie la seconda opzione, chiediamo la sua autorizzazione per connettersi a FB Auth e FB ci fornisce alcuni dettagli, dato che oggi usiamo l'e-mail registrata di Facebook come login e il suo ID di Facebook come password.

Quando abbiamo visto che potevamo modificare il nostro indirizzo email principale su fb, sapevamo che dovevamo cambiare il nostro modo di collegarli. Quindi abbiamo pensato di inviare il suo ID FB per autenticare l'utente.

Per evitare problemi di sniffing abbiamo aggiunto un certificato SSL. Ma abbiamo ancora un problema: anche con la minificazione sulla nostra APP Angolare, un utente potrebbe sapere con una piccola ricerca che per autenticarsi al nostro servizio egli "solo" deve conoscere il suo ID e inviarlo a noi con il postino.

Quindi, se può ottenere l'ID di Facebook di un altro utente (che potrebbe persino essere stato divulgato / venduto su un altro sito Web), potrebbe utilizzare Postman per autenticarsi come un altro utente.

Come posso proteggere questo processo?

Abbiamo pensato di utilizzare la crittografia asimmetrica in cui il client avrebbe cifrato l'ID con la chiave pub e il server avrebbe decifrato con la chiave privata. Ma dopo tutto, non sembra risolvere il problema.

    
posta Alex Werner 24.06.2016 - 15:56
fonte

1 risposta

0

Penso che la conferma dell '"account FB" sia sufficiente per l'autenticazione (a condizione di verificare l'origine e che l'SSO sia impostato correttamente). Puoi chiedere all'utente se desidera aggiornare la sua posta elettronica se rileva che è stata modificata. Presumo che tu stia utilizzando un altro ID per tracciare i tuoi utenti e l'email è solo un campo semplice, giusto?

Ti consiglio di eseguire anche l'hash dell'account FB (non archiviarlo come testo normale né memorizzarlo nel campo della password, in quanto consentirà l'accesso utilizzando il nome dell'account).

Un problema nell'utilizzo di SSO con servizi di terze parti, è che se consentono di modificare l'e-mail senza conferma (a causa di un bug di sicurezza), può essere utilizzato per accedere con qualsiasi altro utente che sta usando anche quello SSO (supponendo che sappiano che l'e-mail dell'utente specifico ... che dovrebbe essere nascosta a tutti gli utenti).

Ci sono molti modi possibili per affrontare il tuo problema. Non so quale sarà il modo migliore per implementarlo ... meglio fare più ricerche e imparare come stanno facendo i grandi.

    
risposta data 24.06.2016 - 16:54
fonte

Leggi altre domande sui tag