使用operation.setContext
设置标题时遇到了问题。
参见下面的代码:
const authLink = new ApolloLink((operation, forward) => {
const { tokenHeaderName, tokenHeaderValue } = JSON.parse(localStorage.getItem('auth'))
// add the authorization to the headers
operation.setContext({
headers: {
[tokenHeaderName]: tokenHeaderValue,
},
})
return forward(operation)
})
有了这样的代码,我只想注入带有令牌的自定义授权标头。我的标题名称是:X-CustomToken-XYZ
。 Java后端令牌处理器不区分大小写,与标准Web标头不同。
问题: ApolloLink 由于某种原因将所有传递的标头转换为小写(我通过将X-CustomToken-XYZ
硬编码在字符串文本中进行了检查)因此我们应用程序中的授权逻辑根本无法正常工作。
我尝试使用@apollo/link-context
和apollo-link-context
来表现相似。
关于如何将标头原样传递给请求的任何建议?
谢谢!