diff --git a/troubleshooting/250824_rb8001_daily_summary_cron_failure.md b/troubleshooting/250824_rb8001_daily_summary_cron_failure.md index 1f3fc3a..448362f 100644 --- a/troubleshooting/250824_rb8001_daily_summary_cron_failure.md +++ b/troubleshooting/250824_rb8001_daily_summary_cron_failure.md @@ -342,4 +342,53 @@ FROM gmail_tokens; --- +## 14. 버그 수정 완료 (2025-08-24 로컬 개발자) + +### 14.1 수정 내용 +**Timezone 버그 수정** - Gmail 토큰 만료 시간이 UTC가 아닌 로컬 시간으로 저장되는 문제 해결 + +#### 수정 파일 1: auth-server/app/api/gmail_refresh.py +```python +# Line 9: timezone import 추가 +from datetime import datetime, timedelta, timezone + +# Line 66: 토큰 유효성 체크 시 UTC 사용 +remaining = check_expiry - datetime.now(timezone.utc).timestamp() + +# Line 131-132: 토큰 갱신 시 UTC 기준으로 만료 시간 계산 +new_expires_at = datetime.now(timezone.utc).timestamp() + expires_in +new_expiry = datetime.now(timezone.utc) + timedelta(seconds=expires_in) + +# Line 247: 토큰 상태 확인 시 UTC 사용 +remaining_seconds = check_expiry - datetime.now(timezone.utc).timestamp() +``` + +#### 수정 파일 2: auth-server/app/providers/gmail_passport.py +```python +# Line 14: timezone import 추가 +from datetime import datetime, timezone + +# Line 194: OAuth 콜백 처리 시 UTC 사용 +datetime.now(timezone.utc).timestamp() + token_data_raw.get('expires_in', 3600) + +# Line 199-200: created_at, updated_at UTC 사용 +datetime.now(timezone.utc), +datetime.now(timezone.utc) + +# Line 283, 306: 패스포트 활성화/비활성화 시 UTC 사용 +""", user_uuid, datetime.now(timezone.utc)) +``` + +### 14.2 수정 효과 +- 토큰 만료 시간이 정확히 UTC로 저장됨 +- 토큰 갱신 API가 올바른 시간 기준으로 작동 +- 자동 갱신 시 만료 판단이 정확해짐 + +### 14.3 다음 단계 (서버 관리자) +1. auth-server 재배포 +2. 기존 만료된 토큰 수동 갱신 또는 재인증 +3. 자동 갱신 크론잡 설정 (선택사항) + +--- + **문서 끝** \ No newline at end of file