From e5dc1f597271fd1424df94fe4cb16e83dae1fbf0 Mon Sep 17 00:00:00 2001 From: jjaw Date: Sat, 4 Jul 2026 04:30:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20token=5Fexpired=20?= =?UTF-8?q?=E5=88=B7=E6=96=B0=E4=B8=8D=E5=8F=AF=E9=87=8D=E8=AF=95=E5=88=A4?= =?UTF-8?q?=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/service/token_refresh_service.go | 1 + backend/internal/service/token_refresh_service_test.go | 1 + 2 files changed, 2 insertions(+) diff --git a/backend/internal/service/token_refresh_service.go b/backend/internal/service/token_refresh_service.go index 08761f8220..9ca369a52a 100644 --- a/backend/internal/service/token_refresh_service.go +++ b/backend/internal/service/token_refresh_service.go @@ -446,6 +446,7 @@ func isNonRetryableRefreshError(err error) bool { nonRetryable := []string{ "invalid_grant", // refresh_token 已失效 "invalid_refresh_token", // refresh_token 无效, team 账号工作区被删除会出现 + "token_expired", // OpenAI refresh_token 已过期,需要重新授权 "app_session_terminated", // refresh_token team 账号工作区被删除 "refresh_token_reused", // OpenAI refresh_token 已被使用,必须重新授权 "refresh_token_invalidated", // OpenAI session ended; refresh token invalidated diff --git a/backend/internal/service/token_refresh_service_test.go b/backend/internal/service/token_refresh_service_test.go index d2315c1db5..6f227352f9 100644 --- a/backend/internal/service/token_refresh_service_test.go +++ b/backend/internal/service/token_refresh_service_test.go @@ -541,6 +541,7 @@ func TestIsNonRetryableRefreshError(t *testing.T) { {name: "invalid_grant", err: errors.New("invalid_grant"), expected: true}, {name: "invalid_client", err: errors.New("invalid_client"), expected: true}, {name: "invalid_refresh_token", err: errors.New(`OPENAI_OAUTH_TOKEN_REFRESH_FAILED: token refresh failed: status 401, body: {"error":{"code":"invalid_refresh_token"}}`), expected: true}, + {name: "token_expired", err: errors.New(`OPENAI_OAUTH_TOKEN_REFRESH_FAILED: token refresh failed: status 401, body: {"error":{"code":"token_expired"}}`), expected: true}, {name: "refresh_token_reused", err: errors.New(`OPENAI_OAUTH_TOKEN_REFRESH_FAILED: token refresh failed: status 401, body: {"error":{"code":"refresh_token_reused"}}`), expected: true}, {name: "app_session_terminated", err: errors.New(`OPENAI_OAUTH_TOKEN_REFRESH_FAILED: token refresh failed: status 401, body: {"error": {"code": "app_session_terminated"}}`), expected: true}, {name: "unauthorized_client", err: errors.New("unauthorized_client"), expected: true},