如何使用Apollo graphql处理授权标头?

时间:2019-10-27 05:51:57

标签: authentication graphql apollo react-apollo

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

用户可以登录/注销并切换帐户。
是否应在任何身份验证更改时使用带有令牌头的init函数执行初始化功能?
还是有更好的方法?

1 个答案:

答案 0 :(得分:0)

您可以使函数

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>