首页 > 解决方案 > 如何使用 apollo graphql 处理授权标头?

问题描述

Apollo graphql 请求遵循接受 http 标头的初始化函数。
我想将身份验证令牌附加到 Authorization 标头。

用户可以登录/注销和切换帐户。
我是否应该在任何身份验证更改时使用令牌标头执行 init 函数?
或者,还有更好的方法?

标签: authenticationgraphqlapolloreact-apollo

解决方案


你可以做这样的功能

const createApolloClient = (authToken) => {
  return new ApolloClient({
    link: new HttpLink({
      uri: 'your url',
      headers: {
        Authorization: `Bearer ${authToken}`
      }
    }),
    cache: new InMemoryCache(),
  });
 };

并这样称呼它

var idToken = "abc" //fetch and store your token here   
  const client = createApolloClient(idToken);
   return (
    <ApolloProvider client={client}>
       <div>
       </div>
    </ApolloProvider>

推荐阅读