Merge pull request #3467 from jianjianai/fix/invalid-refresh-token-nonretryable

fix(token-refresh): treat refresh_token_invalidated as non-retryable / 添加 refresh_token_invalidated 到不可重试列表
This commit is contained in:
Wesley Liddick
2026-06-26 09:40:04 +08:00
committed by GitHub
@@ -432,14 +432,15 @@ func isNonRetryableRefreshError(err error) bool {
}
msg := strings.ToLower(err.Error())
nonRetryable := []string{
"invalid_grant", // refresh_token 已失效
"invalid_refresh_token", // refresh_token 无效, team 账号工作区被删除会出现
"app_session_terminated", // refresh_token team 账号工作区被删除
"refresh_token_reused", // OpenAI refresh_token 已被使用,必须重新授权
"invalid_client", // 客户端配置错误
"unauthorized_client", // 客户端未授权
"access_denied", // 访问被拒绝
"missing_project_id", // 缺少 project_id
"invalid_grant", // refresh_token 已失效
"invalid_refresh_token", // refresh_token 无效, team 账号工作区被删除会出现
"app_session_terminated", // refresh_token team 账号工作区被删除
"refresh_token_reused", // OpenAI refresh_token 已被使用,必须重新授权
"refresh_token_invalidated", // OpenAI session ended; refresh token invalidated
"invalid_client", // 客户端配置错误
"unauthorized_client", // 客户端未授权
"access_denied", // 访问被拒绝
"missing_project_id", // 缺少 project_id
"no refresh token available",
}
for _, needle := range nonRetryable {