Accesso social - autenticarsi se esiste un'e-mail o creare un nuovo utente

1

Ecco l'idea:

  • Ho un sito web in cui offro agli utenti l'accesso / iscrizione tramite social network (in questo caso Facebook e LinkedIn)
  • Quando un utente esegue l'autenticazione con entrambi i provider, cerco gli utenti nel mio DB e vedo se c'è già un utente che ha aggiunto lo stesso ID di social network al proprio profilo.
  • Se c'è - si registrano
  • Se non c'è, un nuovo utente è registrato nel mio DB.

Ora la domanda è: dato che posso ottenere l'email dell'utente sul social network, posso cercare anche i miei utenti basandomi su quello. Devo procedere e collegarli a quel punto o è considerata una violazione della sicurezza (dal momento che, a seconda del social network, è possibile cambiare la tua email a una che non possiedi, entrando così nel profilo di qualcun altro)?

Perché potrebbero aver già registrato un account utilizzando il modulo di registrazione standard e poi hanno dimenticato di averlo fatto e fatto clic sul pulsante di accesso al social network. Ovviamente non vuoi che abbiano un nuovo profilo (e tecnicamente non possono farlo, dal momento che quell'e-mail è già stata utilizzata).

O forse se un utente con quell'email esiste già, allora posso visualizzare un messaggio all'utente che dice qualcosa di simile

An account with your email already exists. Please log-in with that email and your password using the form below and then add your social network profile in order to be able to log-in with it in the future.

PS: ho già posto la stessa domanda su webapps.stackexchange.com ma si è rivelato essere il posto sbagliato per questo. Osservando le linee guida per le domande su questo sito sembra che sia il posto giusto per porre la domanda, ma se non fosse sarei felice se qualcuno mi indicasse la giusta direzione.

In questo modo, una volta effettuato il log-in con il proprio account sul sito, possono eseguire nuovamente l'autenticazione con il servizio e una connessione tra il proprio account sul servizio e il proprio account locale, consentendo loro di accedere con esso in il futuro.

    
posta Nikola Ivanov Nikolov 03.03.2014 - 03:36
fonte

1 risposta

3

Suggerisco caldamente di autenticare in modo indipendente ogni metodo utilizzato. Questi siti potrebbero offrire informazioni di posta elettronica dell'utente e penso che potrebbe essere appropriato utilizzare l'e-mail come metodo di contatto, ma non lo utilizzerei come accesso senza che l'utente sia in grado di dimostrare il controllo di entrambi i metodi combinati.

Ad esempio, Jane ha compromesso il suo account Facebook, ma è stato abbastanza intelligente da utilizzare una password diversa per la sua email (o forse il compromesso è stato ottenuto attraverso un metodo che non implicava affatto una password). Potrebbe recuperare l'account in futuro, ma un utente malintenzionato potrebbe anche utilizzarlo per sfruttare un'acquisizione del suo account sul tuo sito.

Per questo e molti altri motivi, mi raccomando che se un utente sta tentando di combinare più metodi di accesso, dovresti autenticare correttamente almeno uno dei vecchi e uno nuovo durante la sessione in cui li combini.

    
risposta data 03.03.2014 - 04:02
fonte

Leggi altre domande sui tag