我尝试使用ember-simple-auth和ember-simple-auth-token模块在我的Ember应用程序中实现JWT身份验证,方法是遵循GitHub上的README文件。我认证部分非常容易。我可以将凭据发送到身份验证端点,然后获取令牌。但是当我尝试通过JSONAPIAdapter实现授权时,我收到以下错误
错误:无法创建' authorizer:token'的实例。最有可能的 未正确定义的类或无效的模块导出。
我使用的是Ember 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",
答案 0 :(得分: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}`);
}
}
});