登录GraphQL后更新标头

时间:2019-07-24 06:18:30

标签: graphql apollo react-apollo

我尝试在登录成功时更新我的​​GraphQL标头。我使用阿波罗。

我的默认设置是:

const { API_GRAPHQL_URL } = config;

const httpLink = createHttpLink({
  uri: API_GRAPHQL_URL
});

const getToken = async () => await AsyncStorage.getItem('userToken');

const authLink = setContext(async (_, { headers }) => {
  const token = await getToken();

  return {
    headers: {
      ...headers,
      authorization: token ? `Bearer ${token}` : ''
    }
  };
});

const client = new ApolloClient({
  link: authLink.concat(httpLink),
  cache: new InMemoryCache()
});

但是,如果我没有登录,则令牌为null。登录成功后,我想更新标头或刷新以加载保存在本地存储中的令牌(使用React-Native)。

任何人都知道中间件是否存在或其他解决方案?

谢谢社区!

0 个答案:

没有答案