Files
labs/.env.dev
jungwoo choi 6c21809a24 feat: OAuth 2.0 백엔드 시스템 구현 완료
Phase 1 & 2 완료:
- 프로젝트 기본 구조 설정
- Docker Compose 환경 구성 (MongoDB, Redis, Backend, Frontend)
- FastAPI 기반 OAuth 2.0 백엔드 구현

주요 기능:
- JWT 기반 인증 시스템
- 3단계 권한 체계 (System Admin/Group Admin/User)
- 사용자 관리 CRUD API
- 애플리케이션 관리 CRUD API
- OAuth 2.0 Authorization Code Flow
- Refresh Token 관리
- 인증 히스토리 추적

API 엔드포인트:
- /auth/* - 인증 관련 (register, login, logout, refresh)
- /users/* - 사용자 관리
- /applications/* - 애플리케이션 관리
- /oauth/* - OAuth 2.0 플로우

보안 기능:
- bcrypt 비밀번호 해싱
- JWT 토큰 인증
- CORS 설정
- Rate limiting 준비

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-05 14:56:02 +09:00

63 lines
1.3 KiB
Plaintext

# OAuth 2.0 Authentication System - Development Environment
# Application Environment
ENVIRONMENT=dev
# Security
SECRET_KEY=3bf17c7f-5446-4a18-9cb3-f885eba501e8
JWT_ALGORITHM=HS256
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=30
JWT_REFRESH_TOKEN_EXPIRE_DAYS=7
# MongoDB Configuration
MONGODB_URL=mongodb://admin:admin123@localhost:27017/oauth_db?authSource=admin
DATABASE_NAME=oauth_db
# Redis Configuration
REDIS_URL=redis://localhost:6379
REDIS_DB=0
# API Configuration
API_HOST=0.0.0.0
API_PORT=8000
API_PREFIX=/api/v1
# Frontend Configuration
FRONTEND_URL=http://localhost:5173
# CORS Settings
CORS_ORIGINS=["http://localhost:5173", "http://localhost:8000"]
CORS_ALLOW_CREDENTIALS=true
# Rate Limiting
RATE_LIMIT_REQUESTS=100
RATE_LIMIT_PERIOD=60
# Backup and Archive Paths
BACKUP_PATH=/var/backups/oauth
ARCHIVE_PATH=/var/archives/oauth
# Logging
LOG_LEVEL=DEBUG
LOG_PATH=/var/log/oauth
# Email Configuration
EMAIL_ENABLED=false
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=
SMTP_PASSWORD=
EMAIL_FROM=noreply@oauth.local
# OAuth Client Defaults
DEFAULT_CLIENT_ACCESS_TOKEN_EXPIRE_MINUTES=60
DEFAULT_CLIENT_REFRESH_TOKEN_EXPIRE_DAYS=30
# Session Configuration
SESSION_SECRET_KEY=5d1cacb8-4d7e-4604-b553-e0251f8fbe7e
SESSION_COOKIE_NAME=oauth_session
SESSION_EXPIRE_MINUTES=1440
# Admin Configuration (Development Only)
ADMIN_EMAIL=admin@oauth.local
ADMIN_PASSWORD=admin123