クライアント側で認証トークンを統合しようとしています。私はこのトークンをミドルウェアに渡しています。ユーザーがログアウトするとストアがリセットされ、新しいトークンが取得されます。今、私は新しい要求、それはまだ古いトークンを送信している(キャッシュ)を送信するときにここで AngularクライアントでApollo resetStoreが動作しません
は、私はこのコードを持ってログアウトないときに私のコードは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},`
});
}
をapp.module.tsある
localStorage.removeItem(AUTH_TOKEN);
this._apollo.getClient().resetStore();
それから私は別の要求をするときに依然として要求ヘッダーの古いトークンを取っています。
これを新しいトークンでどのように更新できますか?