fix: 로그아웃 후 자동 재로그인 버그 수정
쿠키를 단일 진실 출처로 만들어 서브도메인 간 로그아웃 불일치 해결: - login.html: logout=1 파라미터 시 localStorage+쿠키 전부 정리 후 토큰 체크 스킵 - 각 시스템 logout 함수에 &logout=1 추가 (6개 파일) - 각 시스템 initAuth에 쿠키 우선 검증 추가 (7개 파일) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -201,8 +201,20 @@
|
||||
}
|
||||
}
|
||||
|
||||
// logout=1 파라미터가 있으면 모든 인증 데이터 정리
|
||||
var isLogout = new URLSearchParams(location.search).get('logout') === '1';
|
||||
if (isLogout) {
|
||||
ssoCookie.remove('sso_token');
|
||||
ssoCookie.remove('sso_user');
|
||||
ssoCookie.remove('sso_refresh_token');
|
||||
['sso_token','sso_user','sso_refresh_token','token','user','access_token',
|
||||
'currentUser','current_user','userInfo','userPageAccess'].forEach(function(k) {
|
||||
localStorage.removeItem(k);
|
||||
});
|
||||
}
|
||||
|
||||
// 이미 로그인 되어있으면 포털로 (쿠키 또는 localStorage 체크 + 만료 확인)
|
||||
var existingToken = ssoCookie.get('sso_token') || localStorage.getItem('sso_token');
|
||||
var existingToken = isLogout ? null : (ssoCookie.get('sso_token') || localStorage.getItem('sso_token'));
|
||||
if (existingToken && existingToken !== 'undefined' && existingToken !== 'null') {
|
||||
if (isTokenValid(existingToken)) {
|
||||
// 쿠키 재설정 (localStorage에만 있고 쿠키가 없는 경우 대비)
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
['sso_token','sso_user','sso_refresh_token','token','user','access_token','currentUser','current_user','userInfo','userPageAccess'].forEach(function(k) {
|
||||
localStorage.removeItem(k);
|
||||
});
|
||||
window.location.href = this.getLoginUrl();
|
||||
window.location.href = this.getLoginUrl(window.location.href) + '&logout=1';
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user