gpt4 book ai didi

ruby-on-rails - 如何在 Rails、Devise 和 Backbone.js 中使用 token 身份验证?

转载 作者:行者123 更新时间:2023-12-02 11:31:47 24 4
gpt4 key购买 nike

我正在尝试在客户端使用 PhoneGap、jQuery Mobile 和 Backbone.js 构建一个移动应用程序,并在服务器端运行 Rails 3 JSON API。

我知道如何在经过身份验证后从服务器获取 token ,但我不知道如何将“token_auth”键/值附加到 Backbone.js 将向我的服务器发出的所有 AJAX 请求。

这是我目前的流程:

  1. 用户在某些表单字段中输入内容并点击“登录”
  2. Backbone 使用电子邮件和密码信息创建一个新的 Player 对象。
  3. 我运行 Player.authenticate 将 token 设置为 AUTHENTICATION_TOKEN
  4. 此后的所有请求都应附加“auth_token="+ AUTHENTICATION_TOKEN

我看过http://documentcloud.github.com/backbone/#Sync也许会覆盖 AJAX 调用 - 但这对于这个简单的任务来说似乎相当极端。

有人有运行 Devise token_authentication 和 Backbone.js 的经验吗?

最佳答案

关键是在Backbone.sync方法中引入。

看看这个实现:https://github.com/codebrew/backbone-rails/blob/master/vendor/assets/javascripts/backbone_rails_sync.js

您可以这样自己添加:

Backbone.old_sync = Backbone.sync
Backbone.sync = function(method, model, options) {
var new_options = _.extend({
beforeSend: function(xhr) {
var token = $('meta[name="csrf-token"]').attr('content');
if (token) xhr.setRequestHeader('X-CSRF-Token', token);
}
}, options)
return Backbone.old_sync(method, model, new_options);
};

看看这个 fiddle :http://jsfiddle.net/dira/ZcY3D/14/

关于ruby-on-rails - 如何在 Rails、Devise 和 Backbone.js 中使用 token 身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7785079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com