在通过Facebook使用OAuth时将用户列入白名单的最佳做法是什么?

时间:2017-10-18 23:54:17

标签: facebook oauth

Facebook为第三方应用提供了OAuth authentication system,但它们似乎没有提供任何细粒度的用户管理功能。

这似乎是一个安全问题。我需要能够:

  1. 禁用删除未使用的帐户
  2. 禁用或删除滥用用户
  3. 白名单用户可以提前访问新应用。
  4. 但是AFAICT FB没有提供这样做的工具。

    我可能会关注OAuth ID并在我的数据库中输入前两个要求的条目,但我无法弄清楚如何将Facebook用户列入白名单。

    Google无益,因为所有结果都是让用户管理其用户帐户所附加的应用程序,而不是允许应用管理他们所附加的用户帐户...

2 个答案:

答案 0 :(得分:0)

删除或禁用未使用的帐户通常是一个坏主意,因为用户可能长时间处于非活动状态,这并不意味着用户删除或禁用了他的帐户。

另一方面,您无法通过Facebook身份验证来避免恶意用户加入您的应用。您可以做的是使用您自己的实现检测可疑活动(在Facebook接受他们加入您的应用程序之后),并在用户加入客户端并发送后暂停,阻止或禁用服务器上的这些帐户(将其列入黑名单)尝试被服务器接受的所需访问令牌(可选地请求ID)。

白名单用户可能依赖于您的应用程序的要求,您可以检查配置文件数据并拒绝那些不提供您的应用程序所需要求的数据(请记住向用户询问您的应用所需的字段,例如公开个人资料,图片等;用户必须在登录前接受这些内容。)

答案 1 :(得分:0)

以下是您在Facebook上为应用添加白名单的方式:

  1. 将应用保持在开发模式
  2. Testers role
  3. 中添加好友网络中的用户
  4. 当您感到舒服时,请向全世界开放您的应用程序。
  5. AFAICT您的应用发布后无法列入白名单,但这是发布的重点。此外,白名单不是请求授予方法,只是邀请。

    删除或禁用您必须在数据库中处理的用户的其他要求。您可以将用户的状态与FB的唯一ID绑定。