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

进行原始使用