From 252b223d98383983ecf6e6a04a5fc8682b9cb83c Mon Sep 17 00:00:00 2001 From: "focp212@naver.com" Date: Tue, 14 Oct 2025 16:12:48 +0900 Subject: [PATCH] req refresh toekn --- src/entities/user/lib/use-user-info.ts | 2 +- src/shared/configs/axios/index.ts | 46 +++++++++++--------------- 2 files changed, 21 insertions(+), 27 deletions(-) diff --git a/src/entities/user/lib/use-user-info.ts b/src/entities/user/lib/use-user-info.ts index 4dcf724..7ccee1b 100644 --- a/src/entities/user/lib/use-user-info.ts +++ b/src/entities/user/lib/use-user-info.ts @@ -57,7 +57,7 @@ export const useUserInfo = () => { useStore.getState().UserStore.setUserInfo({ ...data - }); + }); }; return { diff --git a/src/shared/configs/axios/index.ts b/src/shared/configs/axios/index.ts index 3f7b710..6f8f640 100644 --- a/src/shared/configs/axios/index.ts +++ b/src/shared/configs/axios/index.ts @@ -2,19 +2,15 @@ import * as Sentry from '@sentry/react'; import axios, { AxiosError, AxiosResponse, InternalAxiosRequestConfig } from 'axios'; import { WHITE_LIST_URLS } from '@/shared/api/urls'; import { StorageKeys } from '@/shared/constants/local-storage'; -import { checkIsAxiosError, getLocalStorage } from '@/shared/lib'; +import { checkIsAxiosError, getLocalStorage, setLocalStorage } from '@/shared/lib'; import { finalizeConfig, extractAccessToken, extractRequestId } from './utils'; import { HEADER_USER_AGENT } from '@/shared/constants/url'; +import { appBridge } from '@/utils/appBridge'; import { useAppBridge } from '@/hooks'; import { useUserInfo } from '@/entities/user/lib/use-user-info'; +import { LoginResponse } from '@/entities/user/model/types'; +import { useStore } from '@/shared/model/store'; -/* -const { - isNativeEnvironment, - requestRefreshToken -} = useAppBridge(); -const { updateUserData } = useUserInfo(); -*/ const onRequestFulfilled = (config: InternalAxiosRequestConfig) => { config.headers['Content-Type'] = 'application/json;charset=UTF-8'; config.headers['X-User-Agent'] = HEADER_USER_AGENT; @@ -57,27 +53,25 @@ const onResponseFulfilled = (response: AxiosResponse) => { }; const onResponseRejected = (error: AxiosError) => { - /* - const { - isNativeEnvironment, - requestRefreshToken - } = useAppBridge(); - const { updateUserData } = useUserInfo(); - */ + console.log('onResponseRejected --> ', error) if(error?.status === 401){ - /* - if(isNativeEnvironment){ - requestRefreshToken().then((token) => { - updateUserData(token); + appBridge.safeCall(() => appBridge.requestRefreshToken()).then((token: LoginResponse) => { + setLocalStorage(StorageKeys.TokenType, token.tokenType); + setLocalStorage(StorageKeys.AccessToken, token.accessToken); + setLocalStorage(StorageKeys.RefreshToken, token.refreshToken); + setLocalStorage(StorageKeys.AccessTokenExpiresIn, token.accessTokenExpiresIn); + setLocalStorage(StorageKeys.RefreshTokenExpiresIn, token.refreshTokenExpiresIn); + setLocalStorage(StorageKeys.MenuGrants, token.menuGrants); + setLocalStorage(StorageKeys.ClientAddressIP, token.clientAddressIP); + setLocalStorage(StorageKeys.Requires2FA, token.requires2FA); + setLocalStorage(StorageKeys.Usrid, token.usrid); + + useStore.getState().UserStore.setUserInfo({ + ...token }); - } - else{ - requestRefreshToken().then((token) => { - updateUserData(token); - }); - } - */ + }); + } /* else if (error?.response) {