如何通过Facebook、Google OAuth检测加入日期


How to detect joined date via Facebook, Google OAuth

我的网站允许用户通过他们的Google或Facebook帐户注册。但有些用户使用克隆帐户注册垃圾邮件,所以我想检测并只允许至少一年前创建的Facebook或谷歌帐户注册。

我知道Facebook和Google API不允许看到这些信息,你对此有什么意见吗,请帮助我。

谢谢vẻry太多了。

我对此没有什么想法。在我看来,我不认为这些信息可以通过API获得。脸书和谷歌都有很强的安全层,在他们共享的关于一个特定实体的数据方面都有一些抽象。IMHO(在我看来),不管你有足够公平的信息被他们丰富的API共享,这对我来说似乎太内部了。

以下是Facebook提到的关于权限的概述:

当某人通过Facebook登录到您的应用程序时,您可以访问该人存储在Facebook上的数据子集。权限是如何你问别人你是否可以访问这些数据。个人隐私设置与您的要求相结合将决定您可以通道

但是,您可以检查Facebook授予您在应用程序中访问的权限。

对于谷歌API,我没有看到/找到这样的信息。检查获取用户配置文件部分。

那么我们能做些什么来检查垃圾邮件发送者吗

嗯,不是我们预期的那样,但有一件事可能会有所帮助,那就是电子邮件验证。大多数垃圾邮件用户不喜欢在注册时提供有效/经过验证的电子邮件地址。

  • 调用类似https://graph.facebook.com/version/me/?access_token=token&fields=verified的Facebook Graph API(其中验证可以为真或假)。我看到一些用户报告说,它会显示帐户是否经过验证,而不是电子邮件。

  • 在Google API中,我们可以通过调用people.getOpenIdConnect端点来获取配置文件。此方法具有email_verified属性,仅当电子邮件地址有效时才返回true

这些可能有帮助,也可能没有帮助,但在API的未来版本中提供更好的选项之前,有总比没有好。

结论

此外,这当然不在开发者使用API来控制假冒/垃圾邮件用户注册这两家社交网络巨头的范围内。我相信,除了检查身份验证之外,即使在数百万用户中,也不容易检测/过滤出这些用户。