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

我在我的iOS应用程序中使用Facebook SSO,并且工作正常。 现在我想使用这些信息 – 用户使用他的uid在脸书上对我的服务器后端进行validation。 但是,我怎样才能 – 安全地将这些信息传递给服务器?

我的猜测是,我需要发送的uid,可能是我从facebook获得的authToken到我的服务器? 有人可以概述一个通用的方法吗?

即使这对我的问题应该没有问题,我的服务器正在运行rails并devise进行身份validation。 我也有单独的工作在那里的Facebooklogin,但我想使用服务器上的客户端已经完成的身份validation。 混乱…

我遇到这个post,帮助我了解问题和解决scheme。

纠正我,如果你看到任何问题。

这个想法是将身份validation令牌传递给rails应用程序。 身份validation令牌只适用于两个应用程序使用相同的应用程序密钥。

所以stream程是这样的:

  1. iOSauthentication。 获取用户的Facebook身份validation令牌并发送到Rails应用程序。
  2. Rails应用程序需要身份validation令牌,将其发布到graph.facebook.com/?auth_token=XXX。 响应应该是用户的json对象。
  3. 以用户对象响应来查找UID并将其与数据库中的用户相匹配。 如果UID不存在,请创build一个新用户并设置新的UID。