Posso fidarmi dei dati del profilo inviati da un fornitore di autenticazione di terze parti?

1

Questa domanda potrebbe essere correlata a questo , ma penso che dobbiamo esserne certi.

Il mio sito web implementa l'accesso tramite OpenID (o Google, o Facebook, ecc.).

Sul mio sito web, l'autorizzazione si basa sull'indirizzo email dell'utente. Se l'utente ha inviato un'email a [email protected], ottiene l'accesso ai contenuti collegati a tale indirizzo email. (Fondamentalmente nel mio caso, il contenuto inviato da altri utenti al suo indirizzo email.)

Non fornisco altri modi per accedere rispetto all'autorizzazione di terze parti e al token monouso. A volte l'utente si connette tramite OpenID tramite token.

Immagino che quando il nuovo utente accederà per la prima volta tramite OpenID, dovrei in effetti verificare che lei possieda davvero l'indirizzo email? Solo così, posso memorizzare il provider come "affidabile" per questo indirizzo email.

Qualcosa impedisce a chiunque di creare un provider OpenID, di fornire a qualcun altro l'indirizzo email e di ottenere i privilegi collegati a questo indirizzo email sul mio sito web? Posso creare un elenco di " fornitori "fidati" (come Launchpad.net, Facebook, Google) che sono noti per verificare l'indirizzo email dell'utente?

Sono abbastanza sicuro della risposta, ma ho bisogno di una conferma. Voglio rendere il mio sistema di accesso il più leggero possibile, soprattutto per i nuovi utenti. Quindi non vorrei aggiungere compiti per l'utente se non è obbligatorio.

    
posta Guilro 15.01.2014 - 22:14
fonte

3 risposte

4

Se stai permettendo a qualsiasi provider OpenID come StackExchange sembra fare:

quindi dovresti probabilmente convalidare l'indirizzo email separatamente inviando un'email di conferma contenente un link di verifica (come fa SE) prima di consentire l'accesso.

    
risposta data 16.01.2014 - 11:43
fonte
3

Devi distinguere tra provider affidabili e non fidati.

Google e Facebook sono fornitori affidabili perché verificano l'indirizzo email dell'utente. Certo, è teoricamente possibile che qualcuno all'interno di Google possa falsificare il proprio indirizzo email. Ma pragmaticamente, sarei felice di fidarmi solo di un indirizzo email di un importante fornitore.

Chiunque può impostare il proprio server OpenID e fargli dire qualsiasi indirizzo email a loro piacimento, quindi non ci si può fidare di questo.

    
risposta data 15.01.2014 - 22:22
fonte
0

Quando usi OpenID per autenticare l'utente, usi un elenco esplicito di fornitori che accetti. Spetta a te decidere se fidarti di un singolo fornitore, perché in pratica stai delegando l'autenticazione a questi fornitori: ti stai affidando per dirti se un utente specifico ha collegato, e per fornire dati relativi all'identità a quell'utente Il tuo server non si fiderà di alcun fornitore che non si trova nell'elenco dei fornitori di fiducia.

es. guarda cosa fanno StackExchange.com: hanno un elenco di provider OpenID che accettano (vale a dire "affidabili") e puoi accedere utilizzando il tuo account su uno di questi provider, ma non con altri.

Se desideri un "indirizzo email verificato", dovresti fidarti solo dei provider che hanno dimostrato di implementare procedure di verifica delle email che ritieni sufficienti.

    
risposta data 15.01.2014 - 22:26
fonte

Leggi altre domande sui tag