docs: UUID 통합 및 사용자 격리 계획 문서 작성
This commit is contained in:
parent
b5a14ac980
commit
45ce06ab2f
96
troubleshooting/250828_UUID_통합_및_사용자_격리_계획.md
Normal file
96
troubleshooting/250828_UUID_통합_및_사용자_격리_계획.md
Normal 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
|
||||||
Loading…
x
Reference in New Issue
Block a user