【发布时间】:2019-01-10 20:52:06
【问题描述】:
我正在构建一个基于JWT的认证系统。
JWT 已过期。当JWT 过期时,我使用apollo-link-error 捕获JWT 过期错误。我想调用apolloClient.resetStore() 方法来重置缓存。
这是我的代码:
const errorLink = onError(({ graphQLErrors, networkError }) => {
if (graphQLErrors)
graphQLErrors.map(error => {
// console.log(`[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`)
if (error.code === 1001) {
auth.signout();
// how can I get apollo client here?
//client.resetStore();
}
});
if (networkError) console.log(`[Network error]: ${networkError}`);
});
const client = new ApolloClient({
cache,
link: from([authMiddleware, errorLink, terminalLink])
});
我不确定apollo-link-error 是处理过期JWT 错误的正确位置。
【问题讨论】:
标签: apollo react-apollo apollo-client