File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -14,29 +14,34 @@ const Gnb = () => {
14
14
const router = useRouter ( ) ;
15
15
const intervalId = useRef < NodeJS . Timeout | null > ( null ) ; // useRef로 intervalId 관리
16
16
17
+
17
18
const checkAndRefreshToken = useCallback ( async ( ) => {
18
19
const accessToken = getCookie ( 'access_token' ) ;
19
- const refreshToken = getCookie ( 'refresh' ) ;
20
- console . log ( 'Checking tokens:' , { accessToken, refreshToken } ) ; // 로그 추가
20
+ console . log ( accessToken ) ;
21
21
22
- if ( ! accessToken && refreshToken ) {
22
+ // accessToken이 없을 경우 갱신 시도
23
+ if ( ! accessToken ) {
23
24
try {
25
+ // 새로운 accessToken 요청 시도
24
26
const newAccessToken = await refreshAccessToken ( ) ;
25
- setIsLoggedIn ( ! ! newAccessToken ) ;
27
+ setIsLoggedIn ( ! ! newAccessToken ) ; // 새 토큰 있으면 로그인 상태 유지, 없으면 로그아웃
28
+ console . log ( '로그인 유지 성공' ) ;
26
29
} catch ( error ) {
27
30
console . error ( '토큰 갱신 실패:' , error ) ;
28
31
setIsLoggedIn ( false ) ;
29
32
}
30
33
} else {
31
- setIsLoggedIn ( ! ! accessToken ) ;
34
+ // accessToken이 존재하면 로그인 상태 유지
35
+ setIsLoggedIn ( true ) ;
32
36
}
37
+
33
38
setIsLoading ( false ) ;
34
39
} , [ setIsLoggedIn ] ) ;
35
40
36
41
useEffect ( ( ) => {
37
42
checkAndRefreshToken ( ) ;
38
43
39
- intervalId . current = setInterval ( checkAndRefreshToken , 20 * 1000 ) ; // 50초마다 갱신 시도
44
+ intervalId . current = setInterval ( checkAndRefreshToken , 20 * 1000 ) ; // 20초마다 갱신 시도
40
45
41
46
return ( ) => {
42
47
if ( intervalId . current ) clearInterval ( intervalId . current ) ;
You can’t perform that action at this time.
0 commit comments