Ember.js 未定义成员简单身份验证自定义授权人
我的自定义授权人文件如下所示,但不起作用:Ember.js 未定义成员简单身份验证自定义授权人,ember.js,ember-simple-auth,Ember.js,Ember Simple Auth,我的自定义授权人文件如下所示,但不起作用: import Ember from 'ember'; import Base from 'ember-simple-auth/authorizers/base'; export default Base.extend({ authorize: function(jqXHR, requestOptions) { var accessToken = this.get('session.content.secure.token');
import Ember from 'ember';
import Base from 'ember-simple-auth/authorizers/base';
export default Base.extend({
authorize: function(jqXHR, requestOptions) {
var accessToken = this.get('session.content.secure.token');
if (this.get('session.isAuthenticated') && !Ember.isEmpty(accessToken)) {
jqXHR.setRequestHeader('Authorization', 'Bearer ' + accessToken);
}
}
});
查看此帖子后:我仍然不清楚,我应该在这里给授权人打电话吗?会话存储呢?请有人能向我澄清这一点,我得到的错误授权人是未定义的:
我的ajax调用如下所示:
import Ember from 'ember';
export default Ember.Component.extend({
session: Ember.inject.service(),
gotQuote: false,
quote: "",
actions: {
getQuote: function() {
var that = this;
this.get('session').authorize('authorizer:cusmtom', (headerName, headerValue) => {
const headers = {};
headers[headerName] = headerValue;
Ember.$.ajax({
type: 'GET',
url: 'http://www.example/api/quotes',
headers: headers,
success: function(response) {
that.setProperties({
quote: response.quoteText,
gotQuote: true
});
},
error: function(xhr) {
alert('Request Status: ' + xhr.status + ' Status Text: ' + xhr.statusText + ' ' + xhr.responseText);
}
});
});
}
}
});
可能是输入错误(
'authorizer:cusmtom'
而不是'authorizer:custom'
)?我已经修复了这个问题,但仍然得到了未捕获的类型错误:无法读取未定义的属性'authorize',我想你没有正确地将会话注入到某个地方。我还发现您在授权程序中使用了jqXHR
和requestOptions
。请参阅API文档了解实际授权人API:你说得对,它是授权人!非常感谢你!