From e995834af881de6ff3330a86a3f8812817d033df Mon Sep 17 00:00:00 2001 From: happybell80 Date: Mon, 25 Aug 2025 01:07:35 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20OAuth=20=ED=86=A0=ED=81=B0=20=EC=9E=90?= =?UTF-8?q?=EB=8F=99=20=EA=B0=B1=EC=8B=A0=20=ED=8C=A8=ED=84=B4=20=EC=A0=95?= =?UTF-8?q?=EC=A0=95=20=EB=B0=8F=20=EC=88=98=EB=8F=99=20=EA=B0=B1=EC=8B=A0?= =?UTF-8?q?=20=EC=8B=A4=ED=96=89=20=EA=B8=B0=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 크론잡 방식이 아닌 API 호출 시점 자동 갱신이 정상 패턴임을 명확화 - skill-email과 rb8001의 토큰 만료 체크 로직 부재 문제 지적 - 모든 사용자 토큰 수동 갱신 완료 (0914eagle, cdctfm, happybell80) - OAuth client 정보 환경변수와 일치하도록 수정 - 정상 구현 패턴 코드 예시 추가 --- ...50824_rb8001_daily_summary_cron_failure.md | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/troubleshooting/250824_rb8001_daily_summary_cron_failure.md b/troubleshooting/250824_rb8001_daily_summary_cron_failure.md index 94fc3aa..c9badc1 100644 --- a/troubleshooting/250824_rb8001_daily_summary_cron_failure.md +++ b/troubleshooting/250824_rb8001_daily_summary_cron_failure.md @@ -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 호출 전 토큰 체크 및 자동 갱신 필요 ---