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

标签 facebook api rest authentication language-agnostic

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

由于注册没有电子邮件确认,我该如何实现安全注册/登录/连接 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 电子邮件)。第一个想法是将 clasic 帐户与这个 facebook 帐户相关联。但随后 B 会接管 A 的帐户。

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

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

最佳答案

你检查过Facebook Developer Login documentation了吗? ?他们涵盖了login flowgenerating 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/

相关文章:

javascript - Facebook API - 发布到时间线

html - Facebook Like 按钮在加载后将我的网站内容下推 1 个像素

android - 为什么使用 RESTFul Web 服务来填充数据库是一个好习惯?

javascript - Facebook api 只为我工作

ios - Xcode 5.1 :error for architecture x86_64 Facebook ios sdk

C++ 数据结构 API 问题

javascript - 非常简单的 API 调用,不会返回任何内容

node.js - 将 session 从 OAuth 应用程序安全地传递到浏览器

spring - REST API中基于 token 的身份验证

api - 如何为公共(public) RESTful API 设计不需要的身份验证