如何为移动应用实现安全的Facebook登录/注册/连接Web服务?

11

我为移动应用程序提供一个Web REST API,支持使用用户名/密码和令牌进行经典的注册/登录。由于注册没有电子邮件确认,如何实现与Facebook服务的安全注册/登录/连接?

我的第一种方法:我从移动应用程序中获取facebook_idfacebook_emailfacebook_name

  • 通过Facebook搜索用户,如果存在则返回该用户,否则使用这些参数创建新用户

  • 问题:我假定任何其他应用程序都可以轻松地找到facebook_id,因此没有阻止我假定我是别人并使用他的facebook_id进行登录

  • 可能的解决方案:也从移动应用程序中获取access_token,并在服务器端检查access_token是否与收到的facebook_email相匹配

另一个问题可能是:

  • 个人A正在使用personB@fake.com电子邮件创建经典帐户
  • 一周后,个人B连接了自己的Facebook帐户(与相同的personB@fake.com电子邮件)。首要想法是将经典帐户与此Facebook帐户链接起来。但是,然后个人B将接管个人A的帐户。

可选:移动应用程序令牌过期的最佳实践是什么?我读到过2小时左右的内容,但是我认为Facebook应用程序仍然登录了半年。为确保安全性,请假设我可以从客户端获取任何重要信息(访问令牌、电子邮件等)在我的Web服务中:在这种情况下,什么是能够确保最佳安全性的最佳实践:即使客户端规则:是否应该有两个不同的服务用于登录和注册?无论如何,一个快速的指南/逐步流程将是完美的。


我也遇到了相同的问题。你找到解决办法了吗? - Lee
1个回答

1

7
不是关于如何使用Facebook API,而是如何构建我的Web服务以处理所有用例(主要是问题中列出的那些)。 - user1236048

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接