File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
import 'server-only';
import { redirect } from 'next/navigation';
import { SESSION_REVOKED_PATH } from '@/lib/constants/logout';
/**
* 다른 곳에서 로그인되면 백엔드가 저장한 refreshToken이 바뀌고, 그 뒤로 이 세션의 accessToken은
* 403 + XPIRED_TOKEN(905)으로 거절된다(edupay-backend JwtAuthenticationFilter). 904는 같은 뜻의
* 예비 코드다.
*
* 쿠키 삭제는 렌더 중에 할 수 없어(Next.js 제약) 라우트 핸들러로 넘긴다 — 거기서 세션을 지우고
* `/login`으로 안내와 함께 되돌린다.
*/
const SESSION_REVOKED_CODES: ReadonlySet<number> = new Set([904, 905]);
export function redirectIfSessionRevoked(code: number): void {
if (SESSION_REVOKED_CODES.has(code)) {
redirect(SESSION_REVOKED_PATH);
}
}