我有一个用于移动应用程序的 Web REST API,它支持使用用户/密码和 token 身份验证的经典注册/登录。
由于注册没有电子邮件确认,我该如何实现安全注册/登录/连接 facebook 服务?
我的第一种方法:我从移动应用程序 facebook_id
、facebook_email
、facebook_name
获取:
通过 facebook 搜索用户,如果存在完美返回该用户,否则使用这些参数创建一个新用户
问题:我假设
facebook_id
可以很容易地被任何其他应用程序找到..所以没有什么能阻止我假设我是其他人并使用他的 facebook_id 登录可能的解决方案:也从移动应用程序获取
access_token
并在服务器端检查access_token
是否与相关facebook_email
收到
另一个问题可能是:
- A 正在使用
personB@fake.com
电子邮件创建一个经典帐户 - 一周后,B 连接了它的 Facebook 帐户(使用相同的
personB@fake.com
电子邮件)。第一个想法是将 clasic 帐户与这个 facebook 帐户相关联。但随后 B 会接管 A 的帐户。
可选还有什么是移动应用程序 token 过期的最佳实践。我已经阅读了大约 2 小时的内容,但我认为 facebook
应用程序在半年之后仍然被记录。
为了确保安全性,假设我可以从我的 Web 服务的客户端获取任何重要的东西(access_token、电子邮件等):在这种情况下可以确保最佳安全性的最佳实践是什么:即使是 client -side
规则:登录和注册是否应该有 2 个不同的服务?无论如何,快速指南/分步流程将是完美的。
最佳答案
你检查过Facebook Developer Login documentation了吗? ?他们涵盖了login flow和 generating user & app tokens (通过调用 FB SDK for JavaScript ( FB.GetAuthResponse
),在这种情况下,您可以将应用程序的 ID 映射到 AuthResponse includes a userID parameter。 token 过期也由 FB SDK 处理。 Android 登录流程看起来相当简单,而 iOS 登录流程看起来更简单。
关于facebook - 如何为移动应用程序实现安全的 Facebook 登录/注册/连接 Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16701457/