È sicuro creare un account utente utilizzando il token ID fornito da Google?

2

Ho un'estensione di Chrome che consente agli utenti di accedere esclusivamente con google e nessun altro provider.

Nel mio back-end (node + couchdb) I necessità di costruire un account utente dall'autore Response fornito da oauth2 api di google. Stavo pensando di utilizzare un hash del id_token come password dopo aver verificato il token utilizzando tokeninfo api

Comprendo che id_token cambia di volta in volta. In quel caso speravo di aggiornare automaticamente la password dell'utente.

Ecco il flusso che avevo in mente:

  1. L'utente accede al front-end e ottiene un id_token da google
  2. Il token ID viene inviato al server e verificato usando tokeninfo api
  3. Se verificato, viene creato un account utente con una password come hash di id_token.

Vedi qualche buco di sicurezza con questo flusso? Se sì, quali sono le alternative?

    
posta dipole_moment 03.08.2015 - 16:00
fonte

1 risposta

1

Probabilmente no.

Le informazioni fornite da quell'endpoint sono di natura abbastanza deterministica, quindi chiunque abbia un motivo sufficiente (ad esempio ha 20 minuti per uccidere) può indovinare i dettagli e generare la stessa password dell'utente per quell'utente. Inoltre, quell'hash fallirà ogni volta (o abbastanza spesso) viene emesso un nuovo token, quindi è necessario mantenere sempre aggiornato il record.

Il processo di base della registrazione dell'utente funziona abbastanza bene, ma quello che devi fare è generare la password casualmente e capire come memorizzarla in modo sicuro e inviarla al client per usarla.

Ora, se puoi fare in modo che CouchDB verifichi il token stesso testualmente, puoi semplicemente inviarlo, ma suppongo che non sia in grado di farlo.

    
risposta data 03.08.2015 - 17:16
fonte

Leggi altre domande sui tag