diff --git a/plans/250828_slack_integration_level3_plan.md b/plans/250828_slack_integration_level3_plan.md index 96cbe4a..db9e81c 100644 --- a/plans/250828_slack_integration_level3_plan.md +++ b/plans/250828_slack_integration_level3_plan.md @@ -27,7 +27,7 @@ ## 2. 구현 단계 -### Phase 1: Sign in with Slack (즉시 1-2일) +### Phase 1: Sign in with Slack ✅ 목업 완료 ``` Frontend → auth-server → Slack OIDC → UUID 생성 → JWT 발급 ``` @@ -46,12 +46,12 @@ Frontend → auth-server → Slack OIDC → UUID 생성 → JWT 발급 **주의**: `identity.*` 레거시 스코프는 사용 금지 -### Phase 2: Add to Slack (단기 3-5일) +### Phase 2: Add to Slack ✅ 목업 완료 ``` Frontend(Slack 아이템 획득) → auth-server → OAuth 2.0 → 봇 토큰 저장 ``` -**Slack 패스포트 엔드포인트** (2025-08-29 수정): +**Slack 패스포트 엔드포인트** ✅ (2025-08-29 목업 구현): - `GET /auth/slack/passport/install?user_id={user_id}` - 봇 설치 OAuth 시작 - 파일: `/home/admin/auth-server/app/providers/slack.py:104` - 변경: workspace_id → user_id 파라미터 @@ -62,7 +62,7 @@ Frontend(Slack 아이템 획득) → auth-server → OAuth 2.0 → 봇 토큰 - `POST /auth/slack/passport/activate` - 아이템 장착 - `POST /auth/slack/passport/deactivate` - 아이템 해제 -**구현** (2025-08-29 수정): +**구현** ✅ (2025-08-29 완료): 1. Frontend 호출: - `src/components/skills-items-panel.tsx:handleSlackItemClick()` - Gmail 패턴과 통일: user_id 파라미터 사용 @@ -80,7 +80,7 @@ Frontend(Slack 아이템 획득) → auth-server → OAuth 2.0 → 봇 토큰 3. `oauth.v2.access`로 bot_access_token 획득 → 암호화 저장 4. 재설치 시 기존 토큰 교체, 다중 workspace 지원 -### Phase 3: 대화 동기화 (중기 1-2주) +### Phase 3: 대화 동기화 ``` Slack Event → rb8001 → DB → SSE/WebSocket → Frontend ``` @@ -94,7 +94,7 @@ Slack Event → rb8001 → DB → SSE/WebSocket → Frontend 3. conversation_logs 저장: team_id, channel_id, thread_ts 4. 초기 동기화: `conversations.history`로 백필 -### Phase 4: 명령 처리 (중기 1-2주) +### Phase 4: 명령 처리 ``` Slack → @robeing 또는 /robeing → rb8001 → 응답 ```