Authentication Ember简单身份验证和Ember fetch在fetch查询中没有授权
我使用ember和ember simple auth(1.7.0)进行身份验证。以下是应用程序适配器功能:Authentication Ember简单身份验证和Ember fetch在fetch查询中没有授权,authentication,ember.js,ember-simple-auth,Authentication,Ember.js,Ember Simple Auth,我使用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', authDat
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()})
同一个模型使用头中的身份验证信息进行成功的emberDS查询。
如何将信息添加到获取头中
编辑:
这是我创建的用于包装提取的服务:
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()
});
您需要创建并使用fetch包装器服务,而不是“原始”的fetch和样板文件
可以使用头进行原始使用-您需要创建获取包装服务并使用它,而不是“原始”获取和样板文件
页眉可用于原始用途-页眉文档非常有用页眉文档非常有用