簡體   English   中英

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)時,沒有用於身份驗證的標頭:

fetch('/appname/v1/user/count'+count_params).then((response)=>{return response.json()})

同一模型使用標題中的auth信息成功執行emberDS查詢。 如何將信息添加到提取頭中?

編輯:

這是我創建的用於包裝fetch的服務:

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

您需要創建並使用獲取包裝服務,而不是“原始”獲取和樣板服務。

標頭可以原始使用-https: //github.com/github/fetch#post-json

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM