在自己的服务器上使用facebook iOS客户端授权

时间:2011-10-20 18:27:30

标签: ruby-on-rails ios facebook authentication devise

我在我的iOS应用程序中使用facebook SSO并且工作正常。 现在我想在我的服务器后端使用那些信息 - 用户用他的uid验证用户身份。但是我怎么能 - 安全地 - 将这些信息传递给服务器?

我的猜测是,我需要发送uid,可能还有我从facebook到我的服务器的authToken?有人可以勾勒出一般的方法吗?

即使它对我的问题不重要,我的服务器正在运行rails并设计用于身份验证。我也有facebook登录单独工作,但我想使用服务器上客户端已经完成的身份验证。混乱...

1 个答案:

答案 0 :(得分:35)

我遇到了 this 帖子,这有助于我了解问题和解决方案。

如果您发现任何问题,请纠正我。

我们的想法是将身份验证令牌传递给rails app。只有两个应用程序使用相同的应用程序密钥时,身份验证令牌才有效。

所以流程是这样的:

  1. iOS验证。获取用户的Facebook身份验证令牌并发送至rails app。
  2. Rails应用程序采用身份验证令牌,将其发布到graph.facebook.com/?auth_token=XXX。响应应该是用户的json对象。
  3. 获取用户对象响应以查找UID并将其与数据库中的用户进行匹配。如果UID不存在,请创建新用户并设置新UID。