Я пытаюсь интегрировать токен авторизации на стороне клиента. Я передаю этот токен в промежуточное ПО. Когда пользователь выходит из системы, сбросьте хранилище, а затем получите новый токен. Теперь, когда я отправляю новый запрос, он все еще отправляет старый токен (кешированный)
Вот мой код app.module.ts
const networkInterface = createNetworkInterface({
uri: "http://localhost:3000/graphql"
});
networkInterface.use([
{
applyMiddleware(req, next) {
if (!req.options.headers) {
req.options.headers = {}; // Create the header object if needed.
}
req.options.headers.authorization = localStorage.getItem(AUTH_TOKEN);
next();
}
}
]);
export function provideClient(): ApolloClient {
return new ApolloClient({
networkInterface,
dataIdFromObject: (o: any) => `${o.__typename}-${o.id},`
});
}
Когда я выхожу из системы, у меня есть этот код
localStorage.removeItem(AUTH_TOKEN);
this._apollo.getClient().resetStore();
Затем, когда я делаю еще один запрос, он все еще принимает старый токен в заголовках запроса.
Как я могу обновить это с помощью нового токена?