diff --git a/src/App.tsx b/src/App.tsx index e8fafae..4c4eade 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -3,9 +3,9 @@ import { QueryClient, QueryClientProvider, } from "@tanstack/react-query"; -import axios from "axios"; import { StrictMode, Suspense, useState } from "react"; import { RouterProvider } from "react-router-dom"; +import { refreshToken as getRefreshToken } from "./api/auth/refreshToken"; import { router } from "./routes"; import useAuthStore from "./store/authStore"; import { calculateExpiryTime } from "./utils/calculateExpiryTime"; @@ -39,19 +39,10 @@ function App() { if (accessToken == null || refreshToken == null) return; try { - const response = await axios.post( - `${import.meta.env.VITE_API_URL}/auth/refreshToken`, - { - refresh_token: refreshToken, - } - ); + const response = await getRefreshToken(refreshToken); - const expriedAt = calculateExpiryTime(response.data.expires_in); - setAuth( - response.data.access_token, - response.data.refresh_token, - expriedAt - ); + const expriedAt = calculateExpiryTime(response.expires_in); + setAuth(response.access_token, response.refresh_token, expriedAt); } catch (error) { clearAuth(); router.navigate("/admin"); diff --git a/src/api/auth/refreshToken.ts b/src/api/auth/refreshToken.ts index cffe8f4..9a8e4d7 100644 --- a/src/api/auth/refreshToken.ts +++ b/src/api/auth/refreshToken.ts @@ -1,4 +1,3 @@ -import useAuthStore from "@/store/authStore"; import axios from "axios"; interface RefreshTokenResponse { @@ -14,17 +13,10 @@ interface RefreshTokenCredentials { const refreshToken = async ( refresh_token: string ): Promise => { - const { accessToken } = useAuthStore.getState(); - const response = await axios.post( `${import.meta.env.VITE_API_URL}/auth/refreshToken`, { refresh_token, - }, - { - headers: { - Authorization: `Bearer ${accessToken}`, - }, } ); diff --git a/src/hooks/auth/useRefreshToken.ts b/src/hooks/auth/useRefreshToken.ts deleted file mode 100644 index 1e3555c..0000000 --- a/src/hooks/auth/useRefreshToken.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { - refreshToken, - RefreshTokenCredentials, - RefreshTokenResponse, -} from "@/api/auth/refreshToken"; -import useAuthStore from "@/store/authStore"; -import { calculateExpiryTime } from "@/utils/calculateExpiryTime"; -import { useMutation, UseMutationOptions } from "@tanstack/react-query"; -import { useNavigate } from "react-router-dom"; - -const useRefreshToken = () => { - const navigate = useNavigate(); - const { clearAuth } = useAuthStore(); - - const mutationOptions: UseMutationOptions< - RefreshTokenResponse, - Error, - RefreshTokenCredentials - > = { - mutationFn: (credentials: RefreshTokenCredentials) => - refreshToken(credentials.refresh_token), - onSuccess: (data: RefreshTokenResponse) => { - const expriedAt = calculateExpiryTime(data.expires_in); - useAuthStore - .getState() - .setAuth(data.access_token, data.refresh_token, expriedAt); - }, - onError: () => { - clearAuth(); - navigate("/admin"); - }, - }; - - const mutation = useMutation< - RefreshTokenResponse, - Error, - RefreshTokenCredentials - >(mutationOptions); - - return mutation; -}; - -export default useRefreshToken;