From ac8e3ab9721f409db9e6a4bf63bc3cd66fc8b8d5 Mon Sep 17 00:00:00 2001 From: Paul Pan Date: Sat, 16 Mar 2024 17:23:33 +0800 Subject: [PATCH] fix: revoke local token when profile query failed --- src/app/store.ts | 7 ++----- src/features/auth/authSlice.ts | 5 +++++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/app/store.ts b/src/app/store.ts index 5871d98..d072b7f 100644 --- a/src/app/store.ts +++ b/src/app/store.ts @@ -3,13 +3,10 @@ import { combineSlices, configureStore } from "@reduxjs/toolkit"; import { setupListeners } from "@reduxjs/toolkit/query"; import { userApi } from "./services/user"; - -import { counterSlice } from "../features/counter/counterSlice"; -import { quotesApiSlice } from "../features/quotes/quotesApiSlice"; import { authSlice } from "../features/auth/authSlice"; -const dataSlices = [counterSlice, authSlice]; -const middlewareSlices = [quotesApiSlice, userApi]; +const dataSlices = [authSlice]; +const middlewareSlices = [userApi]; const slices = [...dataSlices, ...middlewareSlices]; const rootReducer = combineSlices(...slices); diff --git a/src/features/auth/authSlice.ts b/src/features/auth/authSlice.ts index f2344e8..6d3c2a8 100644 --- a/src/features/auth/authSlice.ts +++ b/src/features/auth/authSlice.ts @@ -42,6 +42,11 @@ export const authSlice = createAppSlice({ console.error("Login Failed", action.payload); localStorage.removeItem("token"); return { ...initialState, token: null }; + }) + .addMatcher(userApi.endpoints.profile.matchRejected, (_state, _action) => { + // Profile Failed + localStorage.removeItem("token"); + return { ...initialState, token: null }; }); }, });