docs: UUID 통합 계획에 실제 확인 정보 반영

This commit is contained in:
happybell80 2025-08-28 17:27:46 +09:00
parent 45ce06ab2f
commit 5814626c94

View File

@ -7,17 +7,25 @@
---
## 1. 현재 상황
## 1. 현재 상황 (2025-08-28 확인)
### ID 체계 혼재
- **Frontend**: Google OAuth → UUID4 (auth-server 생성)
- **Slack**: Slack User ID (U091XXX...)
- **DB**: UUID, username, slack_id 혼용
### ID 체계 현황
- **Frontend**: JWT sub에 UUID 사용 ✅
- **Gateway**: UUID로 인증 ✅
- **slack_user_mapping**: Slack ID → UUID 매핑 활성화 ✅
- **rb8001**: Slack ID 그대로 사용 (String) ❌
### 실제 데이터
```
happybell80: U0925SXQFDK → 1e16e9d5-59f3-54da-a661-8abeabff4230
0914eagle: U091UNVE41M → b6ea2ee0-a15a-5cf4-93a9-a9ca20d4c4a0
cdctfm: U092F7FQ55L → 69ae4ea9-a15f-5110-9f5d-6568e380fcfb
```
### 문제점
- 같은 사용자가 서비스마다 다른 ID
- rb8001 JWT 검증 미구현 (보안 취약)
- ChromaDB 사용자 격리 없음
- rb8001 JWT 미구현 (기본 시크릿 키)
- rb8001이 Slack ID를 UUID로 변환 안 함
- ChromaDB 컬렉션 비어있음 `[]`
---
@ -46,14 +54,14 @@ workspace (로빙 1개)
## 3. 구현 계획
### Phase 1: 보안 (긴급)
- [ ] rb8001 JWT 검증 구현
- [ ] X-User-Id 헤더 제거
- [ ] Bearer 토큰 필수화
- [ ] rb8001 JWT_SECRET_KEY 설정 (Gateway와 동일)
- [ ] rb8001 Bearer 토큰 검증 구현
- [ ] X-User-Id 헤더 의존 제거
### Phase 2: ID 통합
- [ ] slack_user_mapping 활성화
- [ ] UUID5 → DB 조회 전
- [ ] gmail_tokens slack_user_id 제거
### Phase 2: ID 통합
- [x] slack_user_mapping 테이블 활성화 (확인됨)
- [ ] rb8001에서 Slack ID → UUID 변
- [ ] robeing-monitor UUID5 제거
### Phase 3: 사용자 격리
- [ ] ChromaDB 사용자별 컬렉션
@ -64,29 +72,40 @@ workspace (로빙 1개)
## 4. 핵심 변경사항
### rb8001 (51124 서버)
### rb8001 (51124 서버) - 로컬 개발자 작업
```python
# 추가 필요: app/dependencies/auth.py
async def get_current_user(authorization: str = Header()):
# JWT 검증
# UUID 추출
return user_uuid
# 1. JWT 검증 (/app/auth.py 수정)
JWT_SECRET_KEY = os.getenv("JWT_SECRET_KEY") # Gateway와 동일
# 2. Slack 이벤트 처리 시 UUID 변환
slack_id = event['user'] # U0925SXQFDK
user_uuid = await get_uuid_from_slack(slack_id) # slack_user_mapping 조회
```
### robeing-monitor (51124 서버)
- UUID5 제거 → slack_user_mapping API 사용
### slack_user_mapping API (51123 서버)
```python
@app.get("/api/slack/{slack_id}/uuid")
async def get_uuid(slack_id: str):
# DB 조회하여 UUID 반환
```
### Gateway (51123 서버)
- 이미 UUID 사용 중 ✅
---
## 5. 테스트 시나리오
## 5. 검증된 사실
1. happybell80이 Frontend 로그인 → UUID 확인
2. 같은 사용자 Slack DM → 같은 UUID 매핑
3. 다른 사용자와 대화 격리 확인
4. 워크스페이스 로빙 공유 확인
### 작동 중
- auth-server: JWT sub에 UUID 사용
- Gateway: JWT 검증 및 UUID 추출
- slack_user_mapping: 3명 데이터 확인
- Frontend: localStorage에 UUID 저장
### 미구현
- rb8001: JWT 검증 없음 (app/auth.py 있지만 미사용)
- rb8001: Slack ID를 UUID로 변환 안 함
- ChromaDB: 컬렉션 없음
---