docs: Gmail 토큰 timezone 버그 수정 내용 추가

- auth-server의 datetime.now() → datetime.now(timezone.utc) 변경
- 토큰 만료 시간이 정확히 UTC로 저장되도록 수정
- gmail_refresh.py와 gmail_passport.py 수정 내용 문서화
This commit is contained in:
happybell80 2025-08-25 00:43:57 +09:00
parent 1d4fbf68c2
commit 46c724912d

View File

@ -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. 자동 갱신 크론잡 설정 (선택사항)
---
**문서 끝**