Rails 3.2 +设计2.1 + OmniAuth + Backbone.js身份验证

Dea*_*ean 5 devise omniauth backbone.js ruby-on-rails-3

我目前使用Devise 2.1 + Rails 3.2.x来验证用户身份.我也将很快添加OmniAuth-Facebook和Twitter支持.

我想在Backbone.js中使用这个现有的基础设施.如果这是从身份验证角度来看的正确工作流程,您能告诉我吗?

  1. 用户通过Devise(或OmniAuth)登录
  2. 使用Devise的Token Authenticatable返回令牌?
  3. Backbone以某种方式访问​​令牌并将其作为API调用的一部分附加?我不需要API来创建用户,这是由Devise处理的.

问题:1.这是你实施它的方式吗?2.#2和#3的任何建议/代码示例?你怎么用这个来处理授权?我认为CanCan不会起作用.

PS我读了很多文章,包括:http: //jessewolgamott.com/blog/2012/01/19/the-one-with-a-json-api-login-using-devise/.他们似乎专注于使用API​​进行身份验证,而不是在身份验证完成后保护API资源.

Dea*_*ean 2

实际上,我通过以下方式使这变得更容易:

用户通过 Devise/OmniAuth 登录,无需创建身份验证令牌 如果我使用启用 Devise 的相同操作来提供 REST API,它将自动使用会话信息进行身份验证,因此无需额外的令牌捕获/重新发送是需要的。

PS RABL 是为在 Rails 中创建 API 而生成的。