Controllo degli accessi e autenticazione tramite i token di accesso di Facebook in una webapp

3

Sto lavorando su un'app mobile con un back-end web. Vorremmo che gli utenti effettuassero l'autenticazione (tramite login) solo tramite Facebook, quindi non dobbiamo memorizzare password ecc. E non costringere gli utenti a creare un altro account.

Tuttavia, ho un po 'di difficoltà nel vedere come funziona. In questo momento, ogni volta che un utente effettua l'accesso, Facebook restituisce un token di accesso. Mi piacerebbe usare questo token di accesso per assicurarmi che solo questo utente stia cercando di leggere / scrivere i dati che dovrebbero. L'app utilizza il back-end pubblicando le richieste http (GET, POST, UPDATE e DELETE). La mia impressione è che mi piacerebbe memorizzare questo token di accesso sul server, fare in modo che l'app includa il token con ogni richiesta e quindi confrontare i due.

Tuttavia, l'invio del token come parametro url sembra stupido, poiché sospetto che questo sia molto vulnerabile agli attacchi, poiché chiunque intercetta immediatamente questo token e quindi accede a tutto nell'app E sulla pagina Facebook dell'utente.

C'è un modo migliore per farlo in modo sicuro? O sto andando in questo modo completamente nel modo sbagliato?

    
posta Linus 11.12.2012 - 22:40
fonte

3 risposte

2

Probabilmente vorresti esaminare le implementazioni di OAuth. Questo non solo ti permetterebbe di usare Facebook, ma molti altri account provider per il login. È anche un meccanismo stabilito per l'utilizzo di account di terze parti per l'autenticazione.

    
risposta data 11.12.2012 - 22:51
fonte
2

Stai andando bene, e la tua intuizione che l'utilizzo di un token di sicurezza su un canale non sicuro è sicuro. Molti siti sono stati vittime di attacchi di imitazione perché non sono riusciti a proteggere i cookie di sessione tramite TLS (gmail, facebook, twitter, linkedIn e molti altri). La risposta breve è utilizzare correttamente OAuth2.0 e quindi utilizzare TLS per qualsiasi connessione che deve trasportare il token di sicurezza.

    
risposta data 11.12.2012 - 22:54
fonte
1

Facebook Login utilizza OAuth2.0 per l'autenticazione e l'autorizzazione. La finestra di accesso crea un collegamento affidabile tra te, i tuoi utenti e le loro informazioni.

Controlla il sviluppatori sito Web di Facebook per i dettagli.

    
risposta data 11.12.2012 - 22:51
fonte

Leggi altre domande sui tag