Ember-simple-auth 和 ember-fetch 没有授权获取查询
Ember-simple-auth and ember-fetch no authorization in fetch query
我正在使用 ember 和 ember-simple-auth(1.7.0) 进行身份验证。这是应用程序适配器函数:
authorize(xhr) {
let { email, token } = this.get('session.data.authenticated');
let authData = `Token token="${token}", email="${email}"`;
xhr.setRequestHeader('Authorization', authData);
}
当我使用 ember-fetch(5.1.3) 时,没有 header 进行身份验证:
fetch('/appname/v1/user/count'+count_params).then((response)=>{return response.json()})
同一型号使用 header 中的授权信息成功 emberDS 查询。
如何将信息添加到 fetch headers 中?
编辑:
这是我创建的用于包装获取的服务:
import Service from '@ember/service';
import fetch from 'fetch';
import { inject as service} from "@ember/service"
export default Service.extend({
fetch(url){
let { email, token } = this.get('session.data.authenticated')
let authData = `Token token="${token}", email="${email}"`
return fetch(url,{headers: {'Authorization': authData}}).then(
(response)=>{return response.json()}
)
},
session: service()
});
您需要创建获取包装器服务并使用它,而不是 "raw" 获取和样板。
可以使用 headers - https://github.com/github/fetch#post-json
进行原始使用
我正在使用 ember 和 ember-simple-auth(1.7.0) 进行身份验证。这是应用程序适配器函数:
authorize(xhr) {
let { email, token } = this.get('session.data.authenticated');
let authData = `Token token="${token}", email="${email}"`;
xhr.setRequestHeader('Authorization', authData);
}
当我使用 ember-fetch(5.1.3) 时,没有 header 进行身份验证:
fetch('/appname/v1/user/count'+count_params).then((response)=>{return response.json()})
同一型号使用 header 中的授权信息成功 emberDS 查询。 如何将信息添加到 fetch headers 中?
编辑:
这是我创建的用于包装获取的服务:
import Service from '@ember/service';
import fetch from 'fetch';
import { inject as service} from "@ember/service"
export default Service.extend({
fetch(url){
let { email, token } = this.get('session.data.authenticated')
let authData = `Token token="${token}", email="${email}"`
return fetch(url,{headers: {'Authorization': authData}}).then(
(response)=>{return response.json()}
)
},
session: service()
});
您需要创建获取包装器服务并使用它,而不是 "raw" 获取和样板。
可以使用 headers - https://github.com/github/fetch#post-json
进行原始使用