- 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
3.0 KiB
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로 참조)
해결 계획:
- 데이터 백업
- company → workspaces 마이그레이션
- FK 관계 재설정
- 모델 파일 통일
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)
📋 작업 요약
완료된 작업
- Slack OAuth 구현:
/auth/slack/login, JWT 30일, Redis 60초 TTL - 사용자 매핑: slack_user_mapping 테이블 활용
- 프론트엔드 통합: auth-context.tsx 수정, Gmail과 통일
미해결 과제
- 기술 부채: 임시 코드 제거, DB 스키마 통일
- 개선 사항: 통합 인증 서비스, OAuth 토큰 갱신
- 문서화: API 문서, 배포 가이드, 트러블슈팅
📌 관련 문서
환경변수 위치
/home/admin/auth-server/.env/home/admin/frontend-customer/.env
체크리스트
- 하드코딩 URL 환경변수화
- DB 스키마 통일 (company → workspaces)
- 임시 코드 방식 제거
- UserIdentityService 구현
- Refresh Token 구현
- PKCE 적용