// NextAuth.js 설정 export { default as authConfig } from "./config"; // 인증 미들웨어 export { authMiddleware, requireAuth, requireAdmin, requireEditor, requireUser, UserRole, config as middlewareConfig, } from "./middleware"; // 인증 헬퍼 함수들 export { hashPassword, verifyPassword, generateSecureToken, createUser, verifyEmail, generatePasswordResetToken, resetPassword, unlockUser, changeUserRole, updateUserProfile, toggleUserStatus, type CreateUserData, type PasswordResetData, type EmailVerificationData, } from "./helpers"; // 기본 설정 export const AUTH_CONFIG = { JWT_SECRET: process.env.NEXTAUTH_SECRET, SESSION_MAX_AGE: 30 * 24 * 60 * 60, // 30일 PASSWORD_MIN_LENGTH: 8, TOKEN_EXPIRY: { EMAIL_VERIFICATION: 24 * 60 * 60 * 1000, // 24시간 PASSWORD_RESET: 60 * 60 * 1000, // 1시간 }, SECURITY: { MAX_FAILED_LOGINS: 5, ACCOUNT_LOCK_DURATION: 30 * 60 * 1000, // 30분 PASSWORD_SALT_ROUNDS: 12, }, };