# 기술 부채 정리 ## 작성일: 2025년 8월 31일 ## 최종 수정: 2025년 9월 15일 ## 🔴 미해결 주요 이슈 ### 1. 임시 코드 방식 제거 필요 **현재 상황**: - Gmail/Slack 모두 임시 코드 → `/auth/verify` → JWT - 불필요한 Redis 의존성, 60초 TTL 제한 **개선 방안**: - JWT 직접 전달 또는 Secure cookie 사용 - Redis 의존성 제거 ### 2. DB 스키마 불일치 **문제**: - company vs workspaces 테이블 공존 - SlackWorkspace 모델 FK 오류 (company_id를 workspace_id로 참조) **해결 계획**: 1. 데이터 백업 2. company → workspaces 마이그레이션 3. FK 관계 재설정 4. 모델 파일 통일 ### 3. 하드코딩된 URL 제거 🔴 **위치**: ```python # app/providers/slack.py login_callback_url = "https://auth.ro-being.com/auth/slack/login/callback" redirect_uri = "http://localhost:3000" # frontend-customer/src/contexts/auth-context.tsx fetch('https://auth.ro-being.com/auth/verify') ``` **해결**: 환경변수로 추출 (dev/staging/prod 분리) ### 4. 사용자 매핑 로직 개선 **문제점**: - email 변경 시 중복 계정 생성 가능 - workspace 없이 매핑 불가 - username 생성 로직 분산 **해결**: UserIdentityService 통합 서비스 구현 ## ✅ 해결 완료 항목 ### 2025-09-15 해결 - Rate Limiting 구현 완료 ### 2025-09-04 해결 - python-multipart 의존성 추가 완료 - Docker dangling 이미지 39개 제거 (3.9GB 회수) - nginx 권한 644 정상 확인 - Redis TTL 자동 만료 정상 작동 - PostgreSQL 테이블 robeings 소유권 확인 - git config pull.rebase false 설정 완료 ### 2025-08-31 해결 - Slack OAuth 2.0 로그인 구현 - Frontend-Backend 인증 방식 통일 (임시 코드 방식) - Git merge conflict 해결 (커밋: 5bb14a6) ## 🟡 개선 필요 사항 ### 보안 강화 - Refresh Token 구현 - PKCE 적용 - 토큰 암호화 저장 ### 코드 품질 - 에러 처리 개선 (구체적 메시지) - 테스트 추가 (단위/통합/E2E) - API 문서화 (OpenAPI/Swagger) ## 📋 작업 요약 ### 완료된 작업 1. **Slack OAuth 구현**: `/auth/slack/login`, JWT 30일, Redis 60초 TTL 2. **사용자 매핑**: slack_user_mapping 테이블 활용 3. **프론트엔드 통합**: auth-context.tsx 수정, Gmail과 통일 ### 미해결 과제 1. **기술 부채**: 임시 코드 제거, DB 스키마 통일 2. **개선 사항**: 통합 인증 서비스, OAuth 토큰 갱신 3. **문서화**: API 문서, 배포 가이드, 트러블슈팅 ## 📌 관련 문서 - [미해결 항목 매트릭스](./000000_unresolved_items_matrix.md) - [인증 시스템 아키텍처](../300_architecture/380_authentication_system.md) - [Slack OAuth 구현](../troubleshooting/250831_slack_oauth_login_implementation.md) ## 환경변수 위치 - `/home/admin/auth-server/.env` - `/home/admin/frontend-customer/.env` ## 체크리스트 - [ ] 하드코딩 URL 환경변수화 - [ ] DB 스키마 통일 (company → workspaces) - [ ] 임시 코드 방식 제거 - [ ] UserIdentityService 구현 - [ ] Refresh Token 구현 - [ ] PKCE 적용