fix: OAuth 토큰 자동 갱신 패턴 정정 및 수동 갱신 실행 기록

- 크론잡 방식이 아닌 API 호출 시점 자동 갱신이 정상 패턴임을 명확화
- skill-email과 rb8001의 토큰 만료 체크 로직 부재 문제 지적
- 모든 사용자 토큰 수동 갱신 완료 (0914eagle, cdctfm, happybell80)
- OAuth client 정보 환경변수와 일치하도록 수정
- 정상 구현 패턴 코드 예시 추가
This commit is contained in:
happybell80 2025-08-25 01:07:35 +09:00
parent 1eb25cb9fa
commit e995834af8

View File

@ -134,9 +134,10 @@ new_expiry = datetime.now(timezone.utc) + timedelta(seconds=expires_in)
```
### 5.2 자동 갱신 메커니즘 부재
- 현재: 수동 API 호출만 가능 (`/api/gmail/refresh/{user_id}`)
- 필요: 크론잡 또는 스케줄러로 자동 갱신
- 추천: 토큰 만료 1시간 전 자동 갱신 트리거
- **근본 문제**: skill-email과 rb8001이 Gmail API 호출 시 토큰 만료 체크 안함
- **정상 패턴**: API 호출 전 토큰 만료 확인 → 만료 시 refresh_token으로 자동 갱신
- **현재 구현**: 만료된 토큰 그대로 사용 → 에러 발생
- **필요 조치**: Gmail API 호출 전 토큰 만료 체크 및 갱신 로직 추가
---
@ -326,10 +327,12 @@ FROM gmail_tokens;
new_expiry = datetime.now(timezone.utc) + timedelta(seconds=expires_in)
```
2. **토큰 자동 갱신 크론잡 구현**
- 매시간 만료 임박 토큰 체크
- 만료 1시간 전 자동 갱신
- 갱신 실패 시 알림
2. **API 호출 시점 자동 갱신 구현**
```python
# skill-email과 rb8001에 추가 필요
if token.expiry < datetime.now():
token = refresh_gmail_token(user_id)
```
### 13.2 영향받는 서비스
- rb8001 일일 요약 (매일 오전 9시)
@ -434,11 +437,13 @@ FROM gmail_tokens;
✅ **Timezone 버그 수정 성공**
- UTC 시간대가 올바르게 적용됨
- 토큰 갱신 API가 정상 작동
- 자동 갱신 메커니즘 복구 완료
- **주의**: 자동 갱신 메커니즘은 여전히 없음 (수동 갱신 필요)
### 15.5 남은 작업
- 0914eagle, cdctfm 사용자 토큰 재인증 필요
- 자동 갱신 크론잡 구현 권장
### 15.5 수동 갱신 실행 (2025-08-25 00:55)
- 0914eagle, cdctfm OAuth client 정보 수정 후 수동 갱신 완료
- 모든 사용자 토큰 현재 유효 상태 (1시간)
- **중요**: API 호출 시점 자동 갱신 로직 없어 임시로 수동 갱신 실행
- **정상 구현**: Gmail API 호출 전 토큰 체크 및 자동 갱신 필요
---