docs: UUID 통합 및 사용자 격리 계획 문서 작성

This commit is contained in:
happybell80 2025-08-28 17:19:57 +09:00
parent b5a14ac980
commit 45ce06ab2f

View File

@ -0,0 +1,96 @@
# UUID 통합 및 사용자 격리 계획
## 작성일: 2025-08-28
## 작성자: 51123 서버 관리자
## 상태: 계획 수립
## 목표: Frontend/Slack 사용자 통합, 워크스페이스별 로빙 공유, 개인별 대화 격리
---
## 1. 현재 상황
### ID 체계 혼재
- **Frontend**: Google OAuth → UUID4 (auth-server 생성)
- **Slack**: Slack User ID (U091XXX...)
- **DB**: UUID, username, slack_id 혼용
### 문제점
- 같은 사용자가 서비스마다 다른 ID
- rb8001 JWT 검증 미구현 (보안 취약)
- ChromaDB 사용자 격리 없음
---
## 2. 목표 아키텍처
### 통합 ID 체계
```
Google 로그인 → UUID 생성 → users 테이블
Slack 로그인 → UUID 조회/생성 → slack_user_mapping
```
### 워크스페이스 구조
```
workspace (로빙 1개)
├── user1 (UUID) - Frontend/Slack 통합
├── user2 (UUID) - Frontend/Slack 통합
└── user3 (UUID) - Slack만
```
### 데이터 격리
- **공유**: 로빙 레벨, 스탯
- **격리**: 대화 내용, ChromaDB 기억, Gmail 토큰
---
## 3. 구현 계획
### Phase 1: 보안 (긴급)
- [ ] rb8001 JWT 검증 구현
- [ ] X-User-Id 헤더 제거
- [ ] Bearer 토큰 필수화
### Phase 2: ID 통합
- [ ] slack_user_mapping 활성화
- [ ] UUID5 → DB 조회 전환
- [ ] gmail_tokens slack_user_id 제거
### Phase 3: 사용자 격리
- [ ] ChromaDB 사용자별 컬렉션
- [ ] conversation_logs user_id 정상화
- [ ] 대화 컨텍스트 분리
---
## 4. 핵심 변경사항
### rb8001 (51124 서버)
```python
# 추가 필요: app/dependencies/auth.py
async def get_current_user(authorization: str = Header()):
# JWT 검증
# UUID 추출
return user_uuid
```
### robeing-monitor (51124 서버)
- UUID5 제거 → slack_user_mapping API 사용
### Gateway (51123 서버)
- 이미 UUID 사용 중 ✅
---
## 5. 테스트 시나리오
1. happybell80이 Frontend 로그인 → UUID 확인
2. 같은 사용자 Slack DM → 같은 UUID 매핑
3. 다른 사용자와 대화 격리 확인
4. 워크스페이스 로빙 공유 확인
---
## 관련 문서
- 250827_JWT_인증_구현_COMPLETED.md
- 250827_UUID_username_혼용_CRITICAL.md
- 250819_claude_사용자구분및ChromaDB격리문제.md