DOCS/plans/250831_todo_and_tech_debt.md
happybell80 8c02b80359 Fix incorrect table names in documentation
- gmail_tokens → gmail_token (33 files)
- companies → company (17 files)
- conversation_logs → conversation_log (27 files)
- workspace_members → workspace_member (28 files)

All table names now match the actual PostgreSQL schema
2025-09-26 00:49:47 +09:00

3.0 KiB

기술 부채 정리

작성일: 2025년 8월 31일

최종 수정: 2025년 9월 15일

🔴 미해결 주요 이슈

1. 임시 코드 방식 제거 필요

현재 상황:

  • Gmail/Slack 모두 임시 코드 → /auth/verify → JWT
  • 불필요한 Redis 의존성, 60초 TTL 제한

개선 방안:

  • JWT 직접 전달 또는 Secure cookie 사용
  • Redis 의존성 제거

2. DB 스키마 불일치

문제:

  • company vs workspaces 테이블 공존
  • SlackWorkspace 모델 FK 오류 (company_id를 workspace_id로 참조)

해결 계획:

  1. 데이터 백업
  2. company → workspaces 마이그레이션
  3. FK 관계 재설정
  4. 모델 파일 통일

3. 하드코딩된 URL 제거 🔴

위치:

# app/providers/slack.py
login_callback_url = "https://auth.ro-being.com/auth/slack/login/callback"
redirect_uri = "http://localhost:3000"

# frontend-customer/src/contexts/auth-context.tsx
fetch('https://auth.ro-being.com/auth/verify')

해결: 환경변수로 추출 (dev/staging/prod 분리)

4. 사용자 매핑 로직 개선

문제점:

  • email 변경 시 중복 계정 생성 가능
  • workspace 없이 매핑 불가
  • username 생성 로직 분산

해결: UserIdentityService 통합 서비스 구현

해결 완료 항목

2025-09-15 해결

  • Rate Limiting 구현 완료

2025-09-04 해결

  • python-multipart 의존성 추가 완료
  • Docker dangling 이미지 39개 제거 (3.9GB 회수)
  • nginx 권한 644 정상 확인
  • Redis TTL 자동 만료 정상 작동
  • PostgreSQL 테이블 robeings 소유권 확인
  • git config pull.rebase false 설정 완료

2025-08-31 해결

  • Slack OAuth 2.0 로그인 구현
  • Frontend-Backend 인증 방식 통일 (임시 코드 방식)
  • Git merge conflict 해결 (커밋: 5bb14a6)

🟡 개선 필요 사항

보안 강화

  • Refresh Token 구현
  • PKCE 적용
  • 토큰 암호화 저장

코드 품질

  • 에러 처리 개선 (구체적 메시지)
  • 테스트 추가 (단위/통합/E2E)
  • API 문서화 (OpenAPI/Swagger)

📋 작업 요약

완료된 작업

  1. Slack OAuth 구현: /auth/slack/login, JWT 30일, Redis 60초 TTL
  2. 사용자 매핑: slack_user_mapping 테이블 활용
  3. 프론트엔드 통합: auth-context.tsx 수정, Gmail과 통일

미해결 과제

  1. 기술 부채: 임시 코드 제거, DB 스키마 통일
  2. 개선 사항: 통합 인증 서비스, OAuth 토큰 갱신
  3. 문서화: API 문서, 배포 가이드, 트러블슈팅

📌 관련 문서

환경변수 위치

  • /home/admin/auth-server/.env
  • /home/admin/frontend-customer/.env

체크리스트

  • 하드코딩 URL 환경변수화
  • DB 스키마 통일 (company → workspaces)
  • 임시 코드 방식 제거
  • UserIdentityService 구현
  • Refresh Token 구현
  • PKCE 적용