【发布时间】:2020-09-09 02:11:59
【问题描述】:
所以我试图将授权标头传递给 Apollo Client 3 以访问数据库。在当前文档中推荐的方法是创建一个 HttpLink 对象
const httpLink = new HttpLink({
uri: "************************",
fetch
});
然后使用 setContext 方法(我认为来自 'http-link-context'):
const authLink = setContext((_, { headers, ...context }) => {
const token = localStorage.getItem("userToken");
return {
headers: {
...headers,
...(token
? { Authorization: `Bearer ${token}` }
: `Bearer *************************`)
},
...context
};
});
然后将对象移植到一起并将它们作为“链接”对象传递给新的 ApolloClient :
const client = new ApolloClient({
cache: new InMemoryCache(),
link: authLink.concat(httpLink)
});
不幸的是,当我这样做时,我收到一条错误消息
Uncaught (in promise) Error: GraphQL error: Missing authorization header.
当我检查我的请求标头时,我看不到授权标头。
还有其他人能够成功启动并运行它吗?
【问题讨论】:
标签: reactjs graphql apollo apollo-client