我有一个GraphQL API和一个Vue.js前端,使用 Apollo客户端从后端请求数据。目前它运作良好。
服务器在每个响应头中回答一个新的JWT-Token,我需要它。因此,解决方案应该很简单...一个 afterware,它从每个响应中获取新的密钥并更新相应的存储条目。但是...头部是空的。
这是afterware:
服务器在每个响应头中回答一个新的JWT-Token,我需要它。因此,解决方案应该很简单...一个 afterware,它从每个响应中获取新的密钥并更新相应的存储条目。但是...头部是空的。
这是afterware:
apolloClient.networkInterface.useAfter([{
applyAfterware({ response }, next) {
if (process.env.NODE_ENV === 'development') {
console.log('got new response', response);
}
if (response.status === 401) {
store.commit('logout');
store.commit('routeLogin');
}
next();
}
}]);
这是响应的样子:
这实际上是发送的内容:
我有所遗漏吗?
更新
我在问题跟踪器中找到了一个类似的案例,通过添加Access-Control-Expose-Headers
来解决。因此,我将它们添加到我的服务器配置中。现在响应看起来像这样,而apollo的headers对象仍然为空:
res.options.headers
中看到。我认为@gordon-freeman正在寻找响应头... 我遇到了同样的问题... - James Moore