docs: Gmail 토큰 timezone 버그 수정 내용 추가
- auth-server의 datetime.now() → datetime.now(timezone.utc) 변경 - 토큰 만료 시간이 정확히 UTC로 저장되도록 수정 - gmail_refresh.py와 gmail_passport.py 수정 내용 문서화
This commit is contained in:
parent
1d4fbf68c2
commit
46c724912d
@ -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. 자동 갱신 크론잡 설정 (선택사항)
|
||||
|
||||
---
|
||||
|
||||
**문서 끝**
|
||||
Loading…
x
Reference in New Issue
Block a user