我目前正在构建一个带有 rails 后端的 iPhone 应用程序。我在 iphone 上仅使用 facebook 的 Single Sign On (SSO),并且身份验证在客户端上运行良好。我在rails上使用设计作为后端。
注意我已经在 iOS 应用程序中咨询了 Facebook 身份验证设计,该应用程序也已经访问了安全的 Web 服务
我看到这个设计有一个叫做 token_authenticable 的东西,它本质上是那个线程第 5 步中描述的“票”。这是我看到的电流
- 用户在手机上登录 facebook SSO
- 用户使用 { access_token: X } 调用 myserver.com/sessions/fb_sso
- 在服务器端(在 SessionsController#fb_sso,我将使用 access_token 对 facebook 进行 API 调用
- 如果 access_token 有效,则检查用户是否存在于数据库中。如果用户不存在,则创建一个新用户
- 现在我们可以将 { user_id: X, devise_auth_token: Y } 返回到 1) 上的调用
这很简单。但是,我有几个问题:
- 使用 devise_auth_token,这是否意味着我不再需要从 devise 调用 sign_in("user", resource) ?(在这里找到http://jessewolgamott.com/blog/2012/01/19/the-one-with-a-json-api-login-using-devise/)
- 哪里是放置 3-4 代码的最佳位置?
- 我似乎在谷歌上找不到太多关于这个话题的信息。为什么对于一个如此普遍的过程没有这么少的教程?我错过了一些明显的东西吗?