fix(session): refresh tokens 30s before expiry instead of 5m

Refreshes are activity-based and synchronous-on-expiry, so the proactive
leeway only hides refresh latency and provides retry headroom; it is not
what prevents serving expired tokens. Shrink it from 5m to 30s to align
with identity provider guidance against refreshing long before expiry,
while keeping decent end-user UX.
This commit is contained in:
Trong Huu Nguyen
2026-06-10 16:57:54 +02:00
parent 9f3d10fcaf
commit 8fbd4656db
3 changed files with 4 additions and 4 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ import (
const (
RefreshMinInterval = 1 * time.Minute
RefreshLeeway = 5 * time.Minute
RefreshLeeway = 30 * time.Second
)
type EncryptedData struct {
+2 -2
View File
@@ -195,7 +195,7 @@ func TestMetadata_ShouldRefresh(t *testing.T) {
metadata := session.Metadata{
Tokens: session.MetadataTokens{
RefreshedAt: time.Now().Add(-5 * time.Minute),
ExpireAt: time.Now().Add(time.Minute),
ExpireAt: time.Now().Add(15 * time.Second),
},
}
@@ -273,7 +273,7 @@ func TestMetadata_ShouldRefresh(t *testing.T) {
},
Tokens: session.MetadataTokens{
RefreshedAt: time.Now().Add(-5 * time.Minute),
ExpireAt: time.Now().Add(time.Minute),
ExpireAt: time.Now().Add(15 * time.Second),
},
}