apollo-link setContext将所有标头转换为小写

时间:2020-07-30 17:49:15

标签: reactjs graphql apollo react-apollo

使用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-contextapollo-link-context来表现相似。

关于如何将标头原样传递给请求的任何建议?

谢谢!

0 个答案:

没有答案