这是在2013年12月16日通过 https://www.facebook.com/whitehat/report/向 Facebook 报告的,Facebook 在12月17日回应说 这个问题早就解决了。
我重新测试了我的 Facebook 帐户(我仍然没有验证的电子邮件地址上) ,当使用 抓取 API 资源管理器工具是不可能得到这个帐户的电子邮件地址使用图形 API 或使用一个 FQL 查询。
结论: 使用 Graph API 或 FQL 查询从 Facebook 获得的电子邮件地址是经过验证的电子邮件。如果一个帐户还没有验证它的电子邮件,但它是不可能得到它。
我正在制作一个网络应用程序与单点登录,提供用户登录无论是谷歌或 Facebook。我希望拥有这两种类型帐户的用户在我的系统中显示为同一个用户,而不管他们用哪个身份登录。为了实现这一点,我正在考虑使用电子邮件地址作为标识符,以了解我是否应该创建一个新帐户或用户是否已经存在。
为了不引入任何安全问题,我必须知道电子邮件地址是经过验证的,实际上是属于用户的。对于谷歌来说,Userinfo API可以告诉我一封电子邮件是否经过验证,所以这里没有问题。但是我在 Facebook Graph API里找不到这样的东西。
是否有可能知道一个电子邮件地址是否在 Facebook 上得到确认?
我知道有一个 verified
字段,但这只能告诉如果帐户被验证,而不是电子邮件地址。
起初,看起来你只能使用图形应用程序接口帐户的电子邮件地址已经确认。如果地址没有得到确认,我只是得到了一个错误告诉我,我必须先确认电子邮件地址,然后才能登录到任何第三方网站。
然而,这似乎并不适用于所有的说法。在某些情况下,即使你没有确认的电子邮件地址,你也可以访问 Facebook 的所有部分。这方面的一个例子是当您使用 @ myOpera. com邮件地址注册时。
当你用@myopera.com 电子邮件地址注册 Facebook 时,只要你提交注册表格,你就会收到一条信息,说你的账户已经被暂时锁定。为了继续下去,你需要提供你的电话号码来验证你的账户,并且“保证 Facebook 的安全和远离垃圾邮件”(对不起,在截图中的瑞典人,这是在我可以进入 Facebook 并且改变语言为英语之前) :
当你提供你的电话号码时,你已经登录了,而且 Facebook 也不再唠叨你必须验证你的电子邮件地址。
你唯一可以看到你的电子邮件地址还没有被验证的地方是在设置页面:
在您确认您的电子邮件地址可用之前通常无法访问的移动设置,并列出了在注册过程中输入的电话号码:
除此之外,还可以用未经证实的电子邮件地址登录到第三方网站:
当我连接到这个用户的 api 图形,我可以得到未确认的电子邮件地址和 verified
字段返回真正的预期,因为我有 核实帐目通过添加电话号码。所以很明显,我不能相信我从 Facebook 得到的电子邮件地址真的属于拥有 Facebook 帐户的用户。
是否有任何其他方法可以知道该电子邮件地址是否经过验证,或者如果我想用它来识别用户,我必须亲自验证它吗?