로그아웃 local storage 정리 .

subtitle
hbyang 2026-03-09 13:46:54 +09:00
parent 9fe03a66cb
commit 937ef7a576
1 changed files with 18 additions and 4 deletions

View File

@ -596,14 +596,28 @@ export async function refreshAccessToken(): Promise<TokenRefreshResponse> {
return data; return data;
} }
// 로컬 스토리지 전체 정리
function clearAllLocalData() {
clearTokens();
localStorage.removeItem('castad_view_mode');
localStorage.removeItem('castad_analysis_data');
localStorage.removeItem('castad_wizard_step');
localStorage.removeItem('castad_active_item');
localStorage.removeItem('castad_song_task_id');
localStorage.removeItem('castad_image_task_id');
localStorage.removeItem('castad_song_generation');
localStorage.removeItem('castad_video_generation');
localStorage.removeItem('castad_video_ratio');
}
// 로그아웃 // 로그아웃
export async function logout(): Promise<void> { export async function logout(): Promise<void> {
const response = await authenticatedFetch(`${API_URL}/user/auth/logout`, { const response = await authenticatedFetch(`${API_URL}/user/auth/logout`, {
method: 'POST', method: 'POST',
}); });
// 응답과 관계없이 로컬 토큰 삭제 // 응답과 관계없이 로컬 데이터 전체 삭제
clearTokens(); clearAllLocalData();
if (!response.ok) { if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`); throw new Error(`HTTP error! status: ${response.status}`);
@ -616,8 +630,8 @@ export async function logoutAll(): Promise<void> {
method: 'POST', method: 'POST',
}); });
// 응답과 관계없이 로컬 토큰 삭제 // 응답과 관계없이 로컬 데이터 전체 삭제
clearTokens(); clearAllLocalData();
if (!response.ok) { if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`); throw new Error(`HTTP error! status: ${response.status}`);