DOCS/plans/250831_todo_and_tech_debt.md
happybell80 8c02b80359 Fix incorrect table names in documentation
- gmail_tokens → gmail_token (33 files)
- companies → company (17 files)
- conversation_logs → conversation_log (27 files)
- workspace_members → workspace_member (28 files)

All table names now match the actual PostgreSQL schema
2025-09-26 00:49:47 +09:00

106 lines
3.0 KiB
Markdown

# 기술 부채 정리
## 작성일: 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 적용