ember-simple-auth不会为每个请求添加令牌

时间:2014-12-09 17:45:56

标签: ember.js devise ember-simple-auth

我使用的是Ember 1.8.1,Ember Data 1.0.0-beta.12,Handlebars 1.3.0,jQuery 1.11.1,Ember Simple Auth 0.7.2和Ember Simple Auth Devise 0.7.2 for my前端。我的后端支持Rails,Grape和Devise。

现在我正在尝试构建一个简单的身份验证。登录效果很好:Ember应用程序将登录凭据发送到我的Rails API并获取访问令牌。令牌被写入localStorage并重新加载页面工作正常。但据我了解Ember Simple Auth(see this demo),所有未来的AJAX请求都将使用此标记作为Authorization标题执行 - 但事实并非如此。

我是否必须自己设置ajaxPrefilter或者Ember Simple Auth会为我做这个并且我的代码/ Ember Simple Auth中有一些错误?

更新1

我刚刚进行了一些console.log调试。好像authorize函数似乎没有被解雇。除authorize以外,可以成功记录所有其他功能。

更新2

问题已解决:忘记设置crossOriginWhitelist

enter image description here

1 个答案:

答案 0 :(得分:5)

从ESA开始,1.0令牌不会自动添加到每个请求中。

如果您正在使用OAuth2授权程序,那么要将授权信息添加到Ember数据请求,请执行以下操作:

\\

如果您还希望进行手动JQuery调用,那么

// app/adapters/application.js
import DS from 'ember-data';
import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin';

export default DS.JSONAPIAdapter.extend(DataAdapterMixin, {
  authorizer: 'authorizer:some'
});

然后确保将授权信息添加到标题中。

以上内容来自https://github.com/simplabs/ember-simple-auth的主要自述文件和http://ember-simple-auth.com/api/的api文档