11

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

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

我的第一种方法:我从移动应用facebook_id程序facebook_email,,,facebook_name

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

  • 问题:我假设facebook_id任何其他应用程序都可以轻松找到 a ..所以没有什么能阻止我假设我是其他人并使用他的 facebook_id 登录

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

另一个问题可能是:

  • personB@fake.com人员 A 正在使用电子邮件创建经典帐户
  • 一周后,B 人连接了它的 Facebook 帐户(使用相同的personB@fake.com电子邮件)。第一个想法是将 clasic 帐户与此 facebook 帐户相关联。但随后 B 将接管 A 的帐户。

可选:还有什么是移动应用程序令牌过期的最佳实践。我已经阅读了大约 2 小时的内容,但facebook我认为在半年后仍会记录应用程序。

为了确保安全,让我们假设我可以从我的 web 服务中的客户端获取任何重要的东西(access_token,电子邮件,...):在这种情况下可以确保最佳安全性的最佳实践是什么:甚至client-side规则:是否应该有 2 个不同的登录和注册服务?无论如何,快速的指导/分步流程将是完美的。

4

1 回答 1

1

你检查过Facebook 开发者登录文档吗?它们涵盖了登录流程生成用户和应用程序令牌(通过调用 FB SDK for JavaScript ( FB.GetAuthResponse),在这种情况下,AuthResponse 包含一个用户 ID 参数,您可以将应用程序的 ID 映射到该参数)。令牌过期也由 FB SDK 处理。Android 登录流程看起来相当简单,而 iOS 登录流程看起来更简单。

于 2013-06-04T17:33:57.630 回答