Mise à jour
Ceci a été rapporté à Facebook via https://www.facebook.com/whitehat/report/ le 16 décembre 2013 et Facebook a répondu le 17 décembre que le bug a été corrigé depuis longtemps .
J'ai testé à nouveau ce phénomène avec mon compte Facebook (dont je n'ai toujours pas vérifié l'adresse électronique) et en utilisant la fonction Outil Grap API Explorer il n'est pas possible d'obtenir l'adresse électronique de ce compte à l'aide de l'API graphique ou d'une requête FQL.
Conclusion : L'adresse électronique que vous obtenez de Facebook en utilisant l'API graphique ou une requête FQL est une adresse vérifiée. Si un compte n'a pas encore vérifié son adresse électronique, il n'est pas possible de l'obtenir.
Poste original
Je crée une application Web avec SSO qui propose à l'utilisateur de se connecter avec Google ou Facebook. Je voudrais que les utilisateurs qui possèdent les deux types de comptes apparaissent comme le même utilisateur dans mon système, quelle que soit l'identité avec laquelle ils se connectent. Pour y parvenir, je pense utiliser l'adresse e-mail comme identifiant pour savoir si je dois créer un nouveau compte ou si l'utilisateur existe déjà.
Pour ne pas introduire de problèmes de sécurité, je dois savoir que l'adresse électronique est vérifiée et appartient réellement à l'utilisateur. Pour Google, le API d'information sur l'utilisateur peut me dire si un email est vérifié ou non, donc il n'y a pas de problème ici. Mais je ne peux pas trouver quelque chose comme cela dans le API graphique Facebook .
Est-il possible de savoir si une adresse électronique est confirmée sur Facebook ?
Je sais qu'il y a un verified
mais cela n'indique que si le compte est vérifié et non l'adresse électronique.
Au début, il semblait que vous ne pouviez utiliser l'API graphique que pour les comptes dont l'adresse électronique a été confirmée. Si l'adresse n'était pas confirmée, un message d'erreur m'indiquait que je devais d'abord confirmer l'adresse électronique avant de pouvoir me connecter à un site tiers.
Toutefois, cela ne semble pas être vrai pour tous les comptes. Dans certains cas, il est possible d'obtenir des accès à toutes les parties de Facebook même si vous ne disposez pas d'une adresse électronique confirmée. C'est le cas, par exemple, lorsque vous vous inscrivez avec une @myopera.com adresse électronique.
Lorsque vous vous inscrivez sur Facebook avec une adresse électronique @myopera.com, vous recevez un message indiquant que votre compte a été temporairement verrouillé dès que vous soumettez le formulaire d'inscription. Pour continuer, vous devez fournir votre numéro de téléphone afin de vérifier votre compte et de "garder Facebook sûr et sans spam" (désolé pour le suédois dans la capture d'écran, c'était avant que je puisse entrer dans Facebook et changer la langue en anglais) :
Lorsque vous fournissez votre numéro de téléphone, vous êtes connecté et Facebook ne vous demande pas de vérifier votre adresse électronique.
Le seul endroit où vous pouvez voir que votre adresse électronique n'est pas encore vérifiée est sur la page des paramètres :
Les paramètres mobiles, qui ne sont généralement pas accessibles avant que vous n'ayez vérifié votre adresse électronique, sont disponibles et indiquent le numéro de téléphone saisi lors de l'inscription :
En outre, il est également possible de se connecter à des sites tiers avec une adresse électronique non confirmée :
Lorsque je me connecte à l'api graphique avec cet utilisateur, je peux obtenir l'adresse électronique non confirmée et l'adresse de l'utilisateur. verified
retourne vrai comme prévu puisque j'ai vérifié le compte en ajoutant un numéro de téléphone. Il est donc évident que je ne peux pas être sûr que l'adresse électronique que je reçois de Facebook appartient réellement à l'utilisateur qui possède le compte Facebook.
Existe-t-il un autre moyen de savoir si l'adresse électronique est vérifiée ou non ou dois-je la vérifier moi-même si je veux l'utiliser pour identifier l'utilisateur ?
1 votes
Si c'est seulement pour myopera.com, nous pouvons les traiter comme non vérifiés même si le graphique de facebook dit qu'ils sont "vérifiés" : "true". La question est de savoir s'il existe d'autres exemptions comme myopera.com ? En outre, on peut se demander pourquoi Facebook les traite différemment ?
0 votes
Je suis dans une position similaire où je veux "fusionner" différents comptes. @nibarius, avez-vous réussi à trouver une solution ? Il semble que le seul champ connexe de l'API graphique soit effectivement la propriété "vérifié", mais cela ne semble PAS être ce dont on a besoin ici, car cela signifie en fait autre chose.
0 votes
@guya, bien sûr, il serait possible de traiter toutes les adresses myopera.com comme non vérifiées. Mais comme vous le dites, il est impossible de savoir s'il en va de même pour les autres adresses.
0 votes
@Ion, non malheureusement je n'ai pas trouvé de solution à ce problème.
0 votes
@nibarius, la solution temporaire pour moi était d'autoriser la fusion avec FB uniquement pour les utilisateurs déjà connectés. Après cela, ils peuvent utiliser l'option de connexion FB.
1 votes
J'ai signalé cette faille de sécurité à facebook.com/whitehat/reportage Si vous devez tester à nouveau, essayez avec un compte de test à l'adresse suivante facebook.com/whitehat/accounts
0 votes
@CoolAJ86, merci, je n'avais pas pensé que cela pouvait être une faille de sécurité.
0 votes
Je ne dis pas que je ne vous fais pas confiance, @nibarius, mais ce serait formidable s'il y avait une prise de position officielle à ce sujet. J'ai cherché et cherché dans la documentation de Facebook et je n'ai rien trouvé concernant un email vérifié. Voici ce qui se rapproche le plus de la réponse : developers.facebook.com/docs/plugins/registration/#named_fields
0 votes
@Ashitaka, oui ce serait en effet très bien s'il était possible d'obtenir une réponse officielle publique à ce sujet.
11 votes
Je viens de le tester à nouveau moi-même : J'ai d'abord essayé de modifier l'adresse électronique de mon compte Facebook existant, mais je n'ai pas pu sélectionner la nouvelle adresse comme adresse principale sans la valider au préalable. J'ai également essayé de créer un nouveau compte Facebook avec une adresse électronique non vérifiée, et je n'ai pas pu me "connecter avec Facebook" du tout avant que l'adresse électronique ne soit validée. Donc oui, l'adresse électronique Facebook peut désormais être considérée comme une adresse électronique vérifiée. .