diff --git a/src/components/global/token/tokenManagement.jsx b/src/components/global/token/tokenManagement.jsx index e3a2c851..2062c89b 100644 --- a/src/components/global/token/tokenManagement.jsx +++ b/src/components/global/token/tokenManagement.jsx @@ -40,8 +40,8 @@ const TokenManagement = () => { const code = query.get('code'); const role = query.get('role'); - // console.log('code:', code); - // console.log('role:', role); + console.log('code:', code); + console.log('role:', role); if (!code || !role) { console.error('코드 또는 역할이 URL에 포함되어 있지 않습니다.'); @@ -49,45 +49,43 @@ const TokenManagement = () => { return; } - fetchToken(code, role) - .then((headers) => { - const accessToken = headers.get('Authorization'); - const refreshToken = headers.get('Authorization-refresh'); + if (role === 'GUEST') { + console.log('약관 동의 페이지로 이동합니다.'); + navigate('/login/terms', { state: code }); + } else { + fetchToken(code) + .then((headers) => { + const accessToken = headers.get('Authorization'); + const refreshToken = headers.get('Authorization-refresh'); - // console.log('accessToken:', accessToken); - // console.log('refreshToken:', refreshToken); + if (!accessToken || !refreshToken) { + alert('토큰을 받아오는 데 실패하였습니다. 다시 시도해주세요.'); + navigate('/login'); + return; + } + dispatch(setTokens(accessToken, refreshToken)); + localStorage.setItem(ACCESS_TOKEN, accessToken); + localStorage.setItem(REFRESH_TOKEN, refreshToken); - if (!accessToken || !refreshToken) { - alert('토큰을 받아오는 데 실패하였습니다. 다시 시도해주세요.'); - navigate('/login'); - return; - } - dispatch(setTokens(accessToken, refreshToken)); - localStorage.setItem(ACCESS_TOKEN, accessToken); - localStorage.setItem(REFRESH_TOKEN, refreshToken); - - const decoded = decodeToken(accessToken); - // const userRole = decoded.role; + const decoded = decodeToken(accessToken); - if (decoded.role === 'GUEST') { - // console.log('약관 동의 페이지로 이동합니다.'); - navigate('/login/terms', { state: code }); - } else if (['MEMBER', 'PREMIUM', 'ADMIN'].includes(decoded.role)) { - // console.log('회원 정보가 존재합니다. 메인 페이지로 이동합니다.'); - navigate(prevPage); - initializeSSE(queryClient, dispatch); - } else { + if (['MEMBER', 'PREMIUM', 'ADMIN'].includes(decoded.role)) { + console.log('회원 정보가 존재합니다. 메인 페이지로 이동합니다.'); + navigate(prevPage || '/'); + initializeSSE(queryClient, dispatch); + } else { + alert('로그인에 실패하였습니다. 다시 시도해주세요.'); + navigate('/login'); + } + }) + .catch((error) => { + console.error('토큰 요청 중 오류가 발생했습니다:', error); alert('로그인에 실패하였습니다. 다시 시도해주세요.'); navigate('/login'); - } - }) - .catch((error) => { - console.error('토큰 요청 중 오류가 발생했습니다:', error); - alert('로그인에 실패하였습니다. 다시 시도해주세요.'); - navigate('/login'); - }); - }, [navigate, location, dispatch]); + }); + } + }, [navigate, location, dispatch, queryClient]); return null; }; -export default TokenManagement; +export default TokenManagement; \ No newline at end of file