在 ember-file-upload 的请求标头中添加身份验证令牌
Posted
技术标签:
【中文标题】在 ember-file-upload 的请求标头中添加身份验证令牌【英文标题】:Add auth token in request header in ember-file-upload 【发布时间】:2018-11-29 13:40:00 【问题描述】:我正在为我的应用程序使用 ember vesrion 2.15.1。我正在使用ember-file-upload 节点模块来支持文件上传,并且是成功的。挑战是我无法将身份验证令牌添加到请求标头。我的请求标头如下所示:
我无法在文件上传的请求标头中添加 userAuthToken,如下所示,我可以为其他 api 调用添加:
我已尝试通过
上传文件set(file, 'headers.userAuthToken', localStorage.getItem("userToken")); // this line is creating problems
let response = yield file.upload(url);
但无法在请求标头中添加 userAuthToken。 任何修复或解决方法将不胜感激。
【问题讨论】:
【参考方案1】:您可以将选项作为upload
方法的第二个参数传递。一种可能的选择是headers
。像这样的东西应该可以工作:
let response = yield file.upload(url,
headers: userAuthToken: localStorage.getItem("userToken")
);
您可以找到其他可能的选项here
【讨论】:
Gennady,这是非常干净和简单的方法。它工作得很好。谢谢。【参考方案2】:您可以在应用程序适配器中添加额外的标头,例如:
import ActiveModelAdapter from 'active-model-adapter';
var token = $('meta[name="csrf-token"]').attr('content');
export default ActiveModelAdapter.extend(
headers:
"X-CSRF-Token": token
);
【讨论】:
他询问ember-file-upload
,这是一个上传文件的插件,不使用ember数据。
是的,你是对的,在我的应用程序中我使用:let headers = adapter.get("headers");
,然后将其传递给 file.upload 函数
Karol,我感谢您的努力,但我要求上传 ember-file-upload。以上是关于在 ember-file-upload 的请求标头中添加身份验证令牌的主要内容,如果未能解决你的问题,请参考以下文章
如何在所有 GraphQL 请求的标头中注入 Id。例如,在所有 GraphQL 请求的标头中,它应该像:- Id:1234