From 313c903176c7bb1666bb8099eb49df3c237c7267 Mon Sep 17 00:00:00 2001 From: happybell80 Date: Wed, 3 Sep 2025 01:42:17 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20Company-X=20Slack=20=EB=B4=87=20channel?= =?UTF-8?q?=5Fnot=5Ffound=20=EC=97=90=EB=9F=AC=20=EC=83=81=EC=84=B8=20?= =?UTF-8?q?=EB=B6=84=EC=84=9D=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 멀티 워크스페이스 토큰 불일치 문제 문서화 - 실제 에러 로그 및 상세 분석 추가 - 이벤트 수신 성공, 응답 전송 실패 원인 명시 --- .../250902_slack_bot_install_url_analysis.md | 85 ++++++++++++++++++- 1 file changed, 84 insertions(+), 1 deletion(-) diff --git a/troubleshooting/250902_slack_bot_install_url_analysis.md b/troubleshooting/250902_slack_bot_install_url_analysis.md index 082b124..2ce7b8e 100644 --- a/troubleshooting/250902_slack_bot_install_url_analysis.md +++ b/troubleshooting/250902_slack_bot_install_url_analysis.md @@ -197,4 +197,87 @@ im:read, im:history, users:read, team:read, files:read, app_mentions:read - companies 테이블: Company-X (8001 포트, active 상태) - workspaces 테이블: Company-X (8명 멤버) - slack_workspaces: T097FCTDVEX → Company-X 연결 완료 -- 봇 설치 준비 완료 \ No newline at end of file +- 봇 설치 준비 완료 + +## 6. Company-X 봇 설치 완료 및 토큰 문제 (2025-09-02 23:00) + +### 6.1 설치 완료 정보 +**Company-X 봇 설치 성공:** +- Team ID: T097FCTDVEX +- Team Name: COMPANY X +- Bot User ID: U09DWLARFQQ +- App ID: A092HLQA1NW +- Bot Token: xoxb-9253435471507-9253533160819-2zZNbJaxdJcQjhJAG8t0TQFi +- 11개 권한 모두 부여됨 + +### 6.2 멀티 워크스페이스 토큰 관리 문제 + +**문제 발견:** +- rb8001 컨테이너가 단일 SLACK_BOT_TOKEN 환경변수 사용 +- 디지털비잉_로빙 토큰: xoxb-9073915808149-... +- Company-X 토큰: xoxb-9253435471507-... +- 현재 rb8001에 디지털비잉_로빙 토큰만 설정되어 있음 + +**증상:** +- Company-X에서 메시지 수신은 정상 +- 응답 시도 시 실패: `Failed to send final response: The request to the Slack API failed` +- 원인: 잘못된 토큰으로 응답 시도 + +**실제 에러 로그:** +``` +ERROR:app.router.slack_handler:Failed to send final response: The request to the Slack API failed. (url: https://www.slack.com/api/chat.postMessage) +The server responded with: {'ok': False, 'error': 'channel_not_found'} +``` + +**상세 분석:** +1. 이벤트 수신 ✅ + - U09BQSN72UT(김종태)가 봇 멘션: `<@U09DWLARFQQ> 하이` + - app_mention 이벤트 정상 수신 + +2. 처리 과정 ✅ + - UUID 변환 성공 (U09BQSN72UT → 1a7ebe8c-1cfd-4acf-a821-2cc526313706) + - 응답 생성 성공: "김종태님, 안녕하세요! 로빙입니다. 무엇을 도와드릴까요?" + - ChromaDB/PostgreSQL 저장 성공 + +3. 응답 전송 실패 ❌ + - `channel_not_found` 에러 + - 디지털비잉_로빙 토큰으로 Company-X 채널 접근 불가 + +### 6.3 Event URL 라우팅 구조 + +**정상 작동 확인:** +1. Slack → `https://ro-being.com/rb8001/api/slack/events` +2. nginx 프록시 → `192.168.219.52:8001/api/slack/events` +3. rb8001 컨테이너가 이벤트 수신 및 처리 + +**문제점:** +- rb8001이 단일 토큰만 사용 가능한 구조 +- 멀티 워크스페이스 지원을 위해서는 토큰 동적 선택 로직 필요 + +### 6.4 해결 방안 + +**단기 해결:** +- 워크스페이스별로 별도 컨테이너 운영 +- 또는 team_id 기반으로 토큰 동적 선택 로직 구현 + +**장기 해결:** +- auth-server의 중앙 라우터 활용 +- `/slack/events/router`가 team_id별로 적절한 컨테이너로 라우팅 +- 각 컨테이너는 해당 워크스페이스 토큰만 보유 + +### 6.5 Slack App Manifest Event URL 설정 + +**올바른 Event URL (Slack App에 설정해야 함):** +```json +"event_subscriptions": { + "request_url": "https://ro-being.com/rb8001/api/slack/events" +} +``` +- rb8001이 직접 이벤트 수신 +- URL verification 정상 응답 확인됨 +- nginx 프록시 → 51124:8001 정상 작동 + +**주의사항:** +- Slack App 설정에서 직접 Event URL 등록 필요 +- 봇 설치와 Event URL 등록은 별개 프로세스 +- team_id 기반 토큰 동적 선택 로직 구현 필요 \ No newline at end of file