Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
陈曦
sub2api
Commits
b7c6d040
Commit
b7c6d040
authored
Dec 31, 2025
by
shaw
Browse files
fix: 修复Antigravity token刷新间隔问题
parent
aa463164
Changes
2
Show whitespace changes
Inline
Side-by-side
backend/internal/service/antigravity_oauth_service.go
View file @
b7c6d040
...
@@ -174,7 +174,10 @@ func (s *AntigravityOAuthService) RefreshToken(ctx context.Context, refreshToken
...
@@ -174,7 +174,10 @@ func (s *AntigravityOAuthService) RefreshToken(ctx context.Context, refreshToken
client
:=
antigravity
.
NewClient
(
proxyURL
)
client
:=
antigravity
.
NewClient
(
proxyURL
)
tokenResp
,
err
:=
client
.
RefreshToken
(
ctx
,
refreshToken
)
tokenResp
,
err
:=
client
.
RefreshToken
(
ctx
,
refreshToken
)
if
err
==
nil
{
if
err
==
nil
{
expiresAt
:=
time
.
Now
()
.
Unix
()
+
tokenResp
.
ExpiresIn
-
300
now
:=
time
.
Now
()
expiresAt
:=
now
.
Unix
()
+
tokenResp
.
ExpiresIn
-
300
fmt
.
Printf
(
"[AntigravityOAuth] Token refreshed: expires_in=%d, expires_at=%d (%s)
\n
"
,
tokenResp
.
ExpiresIn
,
expiresAt
,
time
.
Unix
(
expiresAt
,
0
)
.
Format
(
"2006-01-02 15:04:05"
))
return
&
AntigravityTokenInfo
{
return
&
AntigravityTokenInfo
{
AccessToken
:
tokenResp
.
AccessToken
,
AccessToken
:
tokenResp
.
AccessToken
,
RefreshToken
:
tokenResp
.
RefreshToken
,
RefreshToken
:
tokenResp
.
RefreshToken
,
...
...
backend/internal/service/antigravity_token_refresher.go
View file @
b7c6d040
...
@@ -6,6 +6,12 @@ import (
...
@@ -6,6 +6,12 @@ import (
"time"
"time"
)
)
const
(
// antigravityRefreshWindow Antigravity token 提前刷新窗口:15分钟
// Google OAuth token 有效期55分钟,提前15分钟刷新
antigravityRefreshWindow
=
15
*
time
.
Minute
)
// AntigravityTokenRefresher 实现 TokenRefresher 接口
// AntigravityTokenRefresher 实现 TokenRefresher 接口
type
AntigravityTokenRefresher
struct
{
type
AntigravityTokenRefresher
struct
{
antigravityOAuthService
*
AntigravityOAuthService
antigravityOAuthService
*
AntigravityOAuthService
...
@@ -23,7 +29,8 @@ func (r *AntigravityTokenRefresher) CanRefresh(account *Account) bool {
...
@@ -23,7 +29,8 @@ func (r *AntigravityTokenRefresher) CanRefresh(account *Account) bool {
}
}
// NeedsRefresh 检查账户是否需要刷新
// NeedsRefresh 检查账户是否需要刷新
func
(
r
*
AntigravityTokenRefresher
)
NeedsRefresh
(
account
*
Account
,
refreshWindow
time
.
Duration
)
bool
{
// Antigravity 使用固定的10分钟刷新窗口,忽略全局配置
func
(
r
*
AntigravityTokenRefresher
)
NeedsRefresh
(
account
*
Account
,
_
time
.
Duration
)
bool
{
if
!
r
.
CanRefresh
(
account
)
{
if
!
r
.
CanRefresh
(
account
)
{
return
false
return
false
}
}
...
@@ -36,7 +43,7 @@ func (r *AntigravityTokenRefresher) NeedsRefresh(account *Account, refreshWindow
...
@@ -36,7 +43,7 @@ func (r *AntigravityTokenRefresher) NeedsRefresh(account *Account, refreshWindow
return
false
return
false
}
}
expiryTime
:=
time
.
Unix
(
expiresAt
,
0
)
expiryTime
:=
time
.
Unix
(
expiresAt
,
0
)
return
time
.
Until
(
expiryTime
)
<
r
efreshWindow
return
time
.
Until
(
expiryTime
)
<
antigravityR
efreshWindow
}
}
// Refresh 执行 token 刷新
// Refresh 执行 token 刷新
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment