access_token 쿠키 확인하여 로그인 상태 유지 처리
ProtectedRoute 로 로그인 필요 페이지 접근 관리 import 문을 src/ 포함된 절대경로로 개선
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import axios from './axios';
|
||||
import axios from 'src/axios/axios';
|
||||
import { jwtDecode } from 'jwt-decode';
|
||||
|
||||
export const getAccessTokenFromCookie = (): string | null => {
|
||||
@@ -30,7 +30,7 @@ export interface DecodedToken {
|
||||
encryptedPayload: string;
|
||||
memberId: string;
|
||||
memberName: string;
|
||||
expiration: number;
|
||||
exp: number;
|
||||
}
|
||||
|
||||
// 로그인 API
|
||||
@@ -48,8 +48,8 @@ export const register = async (data: RegisterData): Promise<{ message: string }>
|
||||
// 로그아웃 API
|
||||
export const logout = async (): Promise<void> => {
|
||||
await axios.post('/auth/logout');
|
||||
//localStorage.removeItem('access_token');
|
||||
//localStorage.removeItem('refresh_token');
|
||||
localStorage.removeItem('accessToken');
|
||||
localStorage.removeItem('refreshToken');
|
||||
document.cookie = 'access_token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/';
|
||||
document.cookie = 'refresh_token=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/';
|
||||
};
|
||||
@@ -60,7 +60,9 @@ export const isTokenValid = (token: string): boolean => {
|
||||
const decoded = jwtDecode<DecodedToken>(token);
|
||||
const currentTime = Date.now() / 1000;
|
||||
|
||||
return decoded.expiration > currentTime;
|
||||
if (!decoded.exp) return false; // 만료 정보가 없으면 일단 유효하다고 판단하거나, 정책에 따라 변경 가능
|
||||
|
||||
return decoded.exp > currentTime;
|
||||
} catch (error) {
|
||||
return false;
|
||||
}
|
||||
@@ -75,9 +77,3 @@ export const getUserFromToken = (token: string): DecodedToken | null => {
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
// 현재 사용자 정보 가져오기
|
||||
export const getCurrentUser = async () => {
|
||||
const response = await axios.get('/auth/me');
|
||||
return response.data;
|
||||
};
|
||||
@@ -14,7 +14,7 @@ const instance = axios.create({
|
||||
// 요청 인터셉터
|
||||
instance.interceptors.request.use(
|
||||
(config) => {
|
||||
const accessToken = localStorage.getItem('access_token');
|
||||
const accessToken = localStorage.getItem('accessToken') || localStorage.getItem('access_token');
|
||||
if (accessToken) {
|
||||
config.headers.Authorization = `Bearer ${accessToken}`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user