Files
sam-react-prod/src/lib/api/auth/auth-config.ts

56 lines
1.5 KiB
TypeScript
Raw Normal View History

// lib/api/auth/auth-config.ts
export const AUTH_CONFIG = {
// API Base URL
apiUrl: process.env.NEXT_PUBLIC_API_URL || 'https://api.5130.co.kr',
// Frontend URL
frontendUrl: process.env.NEXT_PUBLIC_FRONTEND_URL || 'http://localhost:3000',
// 인증 모드 (환경에 따라 선택)
defaultAuthMode: (process.env.NEXT_PUBLIC_AUTH_MODE || 'sanctum') as 'sanctum' | 'bearer',
// 🔓 공개 라우트 (인증 불필요)
// 명시적으로 여기에 추가된 경로만 비로그인 접근 가능
// 기본 정책: 모든 페이지는 인증 필요
publicRoutes: [
// 비어있음 - 필요시 추가 (예: '/about', '/terms', '/privacy')
],
// 🔒 보호된 라우트 (참고용, 실제로는 기본 정책으로 보호됨)
// publicRoutes와 guestOnlyRoutes가 아닌 모든 경로는 자동으로 보호됨
protectedRoutes: [
'/dashboard',
'/profile',
'/settings',
'/admin',
'/tenant',
'/users',
'/reports',
'/analytics',
'/inventory',
'/finance',
'/hr',
'/crm',
'/employee',
'/customer',
'/supplier',
'/orders',
'/invoices',
'/payroll',
],
// 게스트 전용 라우트 (로그인 후 접근 불가)
// 2025-12-04: MVP에서 /signup 제거 (운영 페이지로 이동 예정)
guestOnlyRoutes: [
'/login',
'/forgot-password',
],
// 리다이렉트 설정
redirects: {
afterLogin: '/dashboard',
afterLogout: '/login',
unauthorized: '/login',
},
} as const;