更新
这是通过报道给Facebook https://www.facebook.com/whitehat/report/于2013年12月16日和Facebook在12月17日回应称, 该漏洞早已被修复 。
我与我的Facebook帐户重新测试这个(我还没有核实上的电子邮件地址),使用时中把握API资源管理器工具 ,不可能使用图形API或使用FQL查询来获取该帐户的电子邮件地址。
结论:从您使用图形API或FQL查询的Facebook获得的电子邮件地址是经过验证的电子邮件。 如果帐户还没有证实它的电子邮件了它不可能得到它。
原贴
我正在与SSO的Web App是为用户提供与谷歌或Facebook来登录。 我想谁拥有这两种类型的帐户的用户在我的系统相同的用户展现出来,无论他们登录与身份。 要做到这一点,我想使用的电子邮件地址作为标识符知道我是否应该创建一个新帐户,或者如果用户已经存在。
不引入任何安全问题,我必须知道的电子邮件地址进行验证,实际上是属于用户。 对于谷歌的用户信息API可以告诉我,如果邮件被验证或没有,所以这里没有任何问题。 但我不能找到在像这样的东西的Facebook图形API 。
是否有可能知道,如果电子邮件地址是在Facebook上确认了吗?
我知道,有一个verified
领域,但只有当该帐户被验证,而不是电子邮件地址告诉。
起初,它看起来像你只能够使用图形API对于其中的电子邮件地址已确认账户。 如果该地址没有被证实我刚刚得到一个错误,告诉我,我必须能够登录到任何第三方网站之前,先确认的电子邮件地址。
然而,这似乎并没有为所有帐户真实。 在某些情况下有可能获得访问Facebook的所有部分,即使你没有确认的电子邮件地址。 这方面的一个例子是,当你有一个注册@ myopera.com mail地址。
当您注册Facebook的一个@ myopera.com电子邮件地址,你会得到你的帐户已被暂时只要您提交注册表单锁定的消息。 要继续,您需要提供您的手机号码,以验证您的帐户,以“保持Facebook的安全和自由免受垃圾邮件”(对不起,瑞典的截图,这是之前,我可以进入Facebook和改变语言为英语):
当您提供您的电话号码,您登录与Facebook不唠叨你任何进一步的了解,你必须确认您的电子邮件地址。
在这里你可以看到你的电子邮件地址尚未验证的唯一地方是在设置页面上:
移动设置,通常是无法访问您已经验证之前,您的电子邮件地址可用,并列出在注册过程中输入的电话号码:
除此之外,还可以登录到有一个未经证实的电子邮件地址第三方网站:
当我连接到图形API与此用户,我可以得到确认的电子邮件地址和verified
如预期,因为我已经现场返回true 验证帐户加入了电话号码。 所以很明显,我不能信任的电子邮件地址,我从Facebook获得真正属于具有Facebook帐户的用户。
有没有知道如果电子邮件地址被验证或不还是我来验证它自己,如果我想用它来识别用户的任何其他方式?