From 46c724912d67ff6e15155a63a64c03c49513ecee Mon Sep 17 00:00:00 2001 From: happybell80 Date: Mon, 25 Aug 2025 00:43:57 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20Gmail=20=ED=86=A0=ED=81=B0=20timezone?= =?UTF-8?q?=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95=20=EB=82=B4=EC=9A=A9?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - auth-server의 datetime.now() → datetime.now(timezone.utc) 변경 - 토큰 만료 시간이 정확히 UTC로 저장되도록 수정 - gmail_refresh.py와 gmail_passport.py 수정 내용 문서화 --- ...50824_rb8001_daily_summary_cron_failure.md | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) 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