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

如何为移动应用程序实现安全的Facebook登录/注册/连接web服务?,facebook,api,rest,authentication,language-agnostic,Facebook,Api,Rest,Authentication,Language Agnostic,我有一个用于移动应用程序的WebRESTAPI,它支持经典的注册/登录以及用户/密码和令牌身份验证 既然注册没有电子邮件确认,我如何实现安全的注册/登录/连接facebook服务 我的第一个方法是:我从移动应用程序facebook\u id,facebook\u email,facebook\u name: 通过facebook搜索用户,如果存在,请返回该用户,否则使用这些参数创建新用户 问题:我假设任何其他应用程序都可以轻松找到facebook\u id。。所以,没有什么能阻止我假设我是其他

我有一个用于移动应用程序的WebRESTAPI,它支持经典的注册/登录以及用户/密码和令牌身份验证

既然注册没有电子邮件确认,我如何实现安全的注册/登录/连接facebook服务

我的第一个方法是:我从移动应用程序
facebook\u id
facebook\u email
facebook\u name

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

  • 问题:我假设任何其他应用程序都可以轻松找到
    facebook\u id
    。。所以,没有什么能阻止我假设我是其他人,并用他的facebook\u id登录

  • 可能的解决方案:也从移动应用程序获取
    access\u令牌
    ,并在服务器端检查
    access\u令牌
    是否与收到的
    facebook\u电子邮件
    相关

另一个问题可能是:

  • 人员A正在使用
    personB@fake.com
    电子邮件
  • 一周后,B个人用相同的
    personB@fake.com
    电子邮件)。第一个想法是将clasic帐户与此facebook帐户链接。但随后,B将接管A的账户
可选:移动应用程序上令牌过期的最佳实践是什么。我读了大约2个小时的东西,但我想半年后facebook应用程序仍然被登录


为了确保安全性,让我们假设我可以在我的Web服务中从客户端获得任何重要的东西(访问令牌、电子邮件等):在这种情况下,可以确保最佳安全性的最佳实践是什么:甚至
客户端
规则:应该有两种不同的登录和注册服务吗?无论如何,一个快速的指南/一步一步的流程将是完美的。

你检查过这个流程了吗?它们包括和(通过调用FB SDK for JavaScript(),在这种情况下,您可以将应用程序的id映射到)。令牌过期也由FB SDK处理。Android登录流看起来相当简单,而iOS登录流看起来更简单。

这与如何使用facebook API无关。。这是如何构建我的web服务来处理所有用例(主要是问题中列出的那些用例),我也有同样的问题。你找到解决办法了吗?