È ansible verificare se un’email è confermata su Facebook?

Aggiornare

Questo è stato segnalato su Facebook tramite https://www.facebook.com/whitehat/report/ il 16 dicembre 2013 e Facebook ha risposto il dic diciassettesimo che il bug è stato riparato da tempo .

Ho ripeterlo con il mio account Facebook (che non ho ancora verificato l’indirizzo email) e quando utilizzo lo strumento Grap API Explorer non è ansible ottenere l’indirizzo email di questo account usando l’API Graph o usando una query FQL .

Conclusione: l’indirizzo email che ricevi da Facebook utilizzando l’API Graph o una query FQL è una email verificata. Se un account non ha verificato la sua email, non è ansible ottenerlo.

Post originale

Sto creando un’app Web con SSO che offre all’utente l’accesso con Google o Facebook. Vorrei che gli utenti che hanno entrambi i tipi di account si presentino come lo stesso utente nel mio sistema indipendentemente dall’id quadro con cui accedono. Per raggiungere questo objective, sto pensando di utilizzare l’indirizzo email come identificatore per sapere se dovrei creare un nuovo account o se l’utente esiste già.

Per non introdurre alcun problema di sicurezza, devo sapere che l’indirizzo email è verificato e in realtà appartiene all’utente. Per Google l’ API userinfo può dirmi se un messaggio di posta elettronica è verificato o meno, quindi non ci sono problemi qui. Ma non riesco a trovare nulla di simile nell’API di Facebook Graph .

È ansible sapere se un indirizzo email è confermato su Facebook?

So che c’è un campo verified , ma che dice solo se l’account è verificato e non l’indirizzo email.

Inizialmente sembrava che tu potessi utilizzare l’API Graph solo per gli account in cui è stato confermato l’indirizzo email. Se l’indirizzo non è stato confermato, ho appena ricevuto un errore che mi diceva che dovevo confermare l’indirizzo email prima di poter accedere a qualsiasi sito di terze parti.

Tuttavia questo non sembra essere vero per tutti gli account. In alcuni casi è ansible accedere a tutte le parti di Facebook anche se non si dispone di un indirizzo email confermato. Un esempio di questo è quando ti iscrivi con un indirizzo mail @ myopera.com .

Quando ti iscrivi a Facebook con un indirizzo email @ myopera.com ricevi un messaggio che ti informa che il tuo account è stato temporaneamente bloccato non appena presenti il ​​modulo di registrazione. Per continuare devi fornire il tuo numero di telefono per verificare il tuo account e “mantenere Facebook sicuro e libero da spam” (mi dispiace per lo svedese nello screenshot, questo era prima che potessi entrare in Facebook e cambiare lingua in inglese):

Controllo di sicurezza durante la registrazione

Quando fornisci il tuo numero di telefono hai effettuato l’accesso e Facebook non ti tormenta più di tanto che devi verificare il tuo indirizzo email.

L’unico posto dove puoi vedere che il tuo indirizzo email non è ancora verificato è nella pagina delle impostazioni:

Visualizzazione delle impostazioni di Facebook con indirizzo email non confermato

Le Impostazioni mobili che di solito non sono accessibili prima di aver verificato il tuo indirizzo email sono disponibili e elenca il numero di telefono inserito durante la registrazione:

Visualizzazione delle impostazioni mobili di Facebook con indirizzo email non confermato

Oltre a questo è anche ansible accedere a siti di terze parti con un indirizzo email non confermato:

Accesso a Graph Explorer API con un indirizzo email non confermato

Quando mi collego all’API del grafico con questo utente, posso ottenere l’indirizzo email non confermato e il campo verified restituisce true come previsto poiché ho verificato l’account aggiungendo un numero di telefono. Quindi, ovviamente, non posso fidarmi che l’indirizzo e-mail che ricevo da Facebook appartenga veramente all’utente che ha l’account Facebook.

C’è un altro modo per sapere se l’indirizzo email è verificato o no? Devo verificarlo personalmente se voglio usarlo per identificare l’utente?

Sebbene non sia il modo migliore per farlo, puoi provare una soluzione alternativa semplicemente inviando una ricerca e analizzando i risultati:

 http://www.facebook.com/search/results.php?q= 

Inoltre, sei sobject a particolari impostazioni sulla privacy che gli utenti hanno impostato per se stessi per quanto sono ricercabili, ma in nessun altro modo …

Non l’ho mai usato, ma potresti essere in grado di verificare con una query FQL dell’utente.email_hashes: http://developers.facebook.com/docs/reference/fql/user