wr: refresh token관련 수정

This commit is contained in:
2026-06-04 09:54:41 +09:00
parent a71b20ba6f
commit ba910d6bfe
2 changed files with 5 additions and 41 deletions
@@ -19,24 +19,22 @@ const AuthWrapper = ({ children }: { children: React.ReactNode }) => {
const { userInfo, setUserInfo } = useUserStore((state) => state);
async function authCheck() {
// 현재 페이지가 로그인 페이지이면 authCheck(쿠키점검) 안함.
if (isAtLoginRedirectUrl(LOGIN_PAGE_URL)) {
return;
}
const userId = getCookie(AUTH_USER_ID);
if (!userId) {
if (!userId) { // token_id 가 없으면 로그인 페이지로 이동
throw new Error("Missing required authentication tokens");
}
const token = getCookie(CLAIM_NAME);
if (!token || tokenManager.isExpiredToken()) {
await LoginApi.silentRefresh();
}
if (userInfo) return;
const response = await client.get<IUserInfo>(
`${ENDPOINT.USER_SERVICE.USERS}/info/me`,
);
if (!userInfo) setUserInfo(response.data);
setUserInfo(response.data);
}
useEffect(() => {
@@ -47,7 +45,7 @@ const AuthWrapper = ({ children }: { children: React.ReactNode }) => {
return;
}
tokenManager.restoreRefreshTimer(() => LoginApi.silentRefresh());
tokenManager.setupRefreshTimer(() => LoginApi.silentRefresh());
}, []);
useEffect(() => {
@@ -113,40 +113,6 @@ export class TokenManager {
}, refreshDelay);
}
public restoreRefreshTimer(callback: () => Promise<void>): void {
if (this.refreshTimer) {
clearTimeout(this.refreshTimer);
this.refreshTimer = null;
}
const remainingMs = this.getRemainingMsFromToken(CLAIM_NAME);
if (remainingMs === null) {
return;
}
if (remainingMs <= 0) {
callback().catch((error) => {
this.handleRefreshFailure(
error,
"Silent refresh failed during restore:",
);
});
return;
}
if (remainingMs <= TokenManager.REFRESH_BUFFER_MS) {
callback().catch((error) => {
this.handleRefreshFailure(
error,
"Silent refresh failed during restore:",
);
});
return;
}
this.setupRefreshTimer(callback);
}
public clearAuthToken(): void {
if (this.refreshTimer) {
clearTimeout(this.refreshTimer);