[feat]: 보호된 대시보드 및 API 라우트 추가
- 인증된 사용자용 대시보드 페이지 구현 ((protected) 라우트 그룹) - API 엔드포인트 추가 (인증, 사용자 관리) - 커스텀 훅 추가 (useAuth) - 미들웨어 인증 로직 강화 - 환경변수 예제 업데이트 - 기존 dashboard 페이지 제거 후 보호된 라우트로 이동 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
56
src/lib/api/auth/auth-config.ts
Normal file
56
src/lib/api/auth/auth-config.ts
Normal file
@@ -0,0 +1,56 @@
|
||||
// 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',
|
||||
],
|
||||
|
||||
// 게스트 전용 라우트 (로그인 후 접근 불가)
|
||||
guestOnlyRoutes: [
|
||||
'/login',
|
||||
'/signup',
|
||||
'/forgot-password',
|
||||
],
|
||||
|
||||
// 리다이렉트 설정
|
||||
redirects: {
|
||||
afterLogin: '/dashboard',
|
||||
afterLogout: '/login',
|
||||
unauthorized: '/login',
|
||||
},
|
||||
} as const;
|
||||
Reference in New Issue
Block a user