如何从DS.RESTAdapter访问会话?

时间:2014-11-14 14:25:17

标签: ruby-on-rails authentication ruby-on-rails-4 ember.js devise

我正在构建一个Ember-CLI应用程序。我使用ember-cli-simple-auth-devise。我已经成功通过后端验证并获得了API令牌。为了在每个请求标头中发送令牌,我正在尝试以下代码http://emberjs.com/api/data/classes/DS.RESTAdapter.html#toc_headers-customization

import DS from "ember-data";

export default DS.RESTAdapter.extend({
  host: "http://localhost:3000",
  namespace: "api/v1",
  headers: function() {
    return {"X-Access-Token": this.get("session.user_token")};
  }.property("session.user_token")
});

但这不起作用。我检查了

this.get("session.user_token")

哪些结果未定义。所以在DS.RESTAdapter中无法访问会话。如何使会话助手可用于DS.RESTAdapter?

1 个答案:

答案 0 :(得分:1)

根本不需要这样做。只需配置Devise authorizer,它会自动将令牌标头注入每个请求:

//config/environment.js
ENV['simple-auth'] = {
  authorizer: 'simple-auth-authorizer:devise'
}