DOCS/troubleshooting/250827_claude_conversation_log_user_mapping.md
happybell80 e851a072d7 docs: 분리 운영 방안으로 문서 간소화
- 대화 로그 사용자 매핑: 분리 운영 선택
- JWT 보안 문서: 핵심만 정리
- Slack과 웹 각각의 인증 체계 유지
2025-08-27 18:42:59 +09:00

1.2 KiB

대화 로그 사용자 매핑 불일치

상태: 해결 방안 제시 (2025-08-27)

문제

같은 사용자가 Slack/웹 접속 시 각각 다른 ID로 저장

현상

  • Slack: slack_user_id만 저장 (UUID NULL)
  • : user_id(UUID)만 저장 (slack_user_id NULL)
  • 결과: 동일 사용자가 2명으로 분리

원인

  • Slack 경로: JWT 없이 Slack ID만 사용
  • 웹 경로: JWT에서 UUID만 추출
  • State Service: 두 ID를 연결하는 매픹 로직 없음

영향

  • 동일 사용자 통계 분리
  • 채널 간 대화 기록 단절
  • 개인화 컨텍스트 손실

해결 방안: 분리 운영

선택한 방안

  • Slack과 웹을 별도 체계로 운영
  • Slack: Slack ID + Slack 서명 검증
  • 웹: UUID + JWT 검증

구현

  1. conversation_logs 테이블 현 구조 유지

    • slack_user_id: Slack 사용자만
    • user_id: 웹 사용자만
  2. 통계 조회 시 JOIN

    • slack_user_mapping 테이블 활용
    • WHERE user_id = ? OR slack_user_id IN (SELECT...)

결론

  • 분리 운영이 가장 현실적
  • 각 채널 특성에 맞는 인증 체계 유지
  • 필요 시 slack_user_mapping 테이블로 통합 조회

작성: Claude 검토 필요: State Service 개발자