Ember无法使用ember-simple-auth和ember-simple-auth-token创建'authorizer:token'的实例
问题描述:
我试图使用ember-simple-auth和ember将JWT身份验证实现到我的Ember应用程序中通过遵循GitHub上的自述文件来获得简单授权令牌模块。我的认证部分很容易工作。我可以将凭据发送到身份验证端点,并获取令牌。但后来当我尝试通过JSONAPIAdapter实现授权,我收到以下错误Ember无法使用ember-simple-auth和ember-simple-auth-token创建'authorizer:token'的实例
Error: Failed to create an instance of 'authorizer:token'. Most likely an improperly defined class or an invalid module export.
我使用灰烬2.12并具有以下设置:
应用程序/适配器/ application.js中
export default DS.JSONAPIAdapter.extend(DataAdapterMixin, {
host: 'http://localhost:8000',
authorizer: 'authorizer:token'
});
应用程序/路由/ users.js
import Ember from 'ember';
export default Ember.Route.extend({
session: Ember.inject.service('session'),
model() {
return this.store.findAll('user');
}
});
的package.json
"ember-cli-simple-auth": "^0.8.0",
"ember-simple-auth": "^1.2.2",
"ember-simple-auth-token": "^2.1.0",
答
我不知道怎么是你的鉴定者,但你可以尝试这样的事情你的授权:
import Base from 'ember-simple-auth/authorizers/base';
import Ember from 'ember';
export default Base.extend({
session: Ember.inject.service(),
authorize(data, block) {
if (Ember.testing) {
block('Authorization', 'Bearer beyonce');
}
const { token } = data
if (this.get('session.isAuthenticated') && token) {
block('Authorization', `Bearer ${token}`);
}
}
});