我在我的 iOS 应用程序中使用 facebook SSO 并且工作正常。 现在我想在我的服务器后端使用这些信息——用户正在用他的 uid 对 facebook 进行验证。但是我怎样才能 - 安全地 - 将此信息传递给服务器?
我的猜测是我需要将从 facebook 获得的 uid 和可能的 authToken 发送到我的服务器?有人可以概述一个通用的方法吗?
尽管这对我的问题来说并不重要,但我的服务器正在运行 rails 和 devise 以进行身份验证。我也有单独在那里工作的 facebook 登录,但我想使用服务器上客户端已经完成的身份验证。令人困惑...
最佳答案
我遇到了 this 帮助我理解问题和解决方案的帖子。
如果您发现任何问题,请纠正我。
想法是将授权 token 传递给 Rails 应用程序。授权 token 仅在两个应用使用相同的应用 key 时才有效。
所以流程是这样的:
- iOS 认证。获取用户的 Facebook 授权 token 并发送到 Rails 应用。
- Rails 应用获取授权 token ,并将其发布到 graph.facebook.com/?auth_token=XXX。响应应该是用户的 json 对象。
- 获取用户对象响应以查找 UID 并将其与数据库中的用户匹配。如果 UID 不存在,则创建一个新用户并设置新的 UID。
关于ruby-on-rails - 自己使用 facebook iOS 客户端授权到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7840422/