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}`); 
    } 
    } 
});