@@ -42,10 +42,14 @@ func (r RedisAdapter) SetAccessToken(ctx context.Context, token models.AuthToken
4242 return r .setAuthToken (ctx , token )
4343}
4444
45- func (r RedisAdapter ) SetAccessTokenExpiry (ctx context.Context , token models.AuthToken , expiresAt time.Time ) error {
45+ func (r RedisAdapter ) SetAccessTokenExpiry (ctx context.Context , token models.AuthToken , expiresAtLimit time.Time ) error {
4646 if token .Type != models .AccessTokenType {
4747 return fmt .Errorf ("token is not of the right type" )
4848 }
49+ expiresAt := expiresAtLimit
50+ if ! token .ExpiresAt .IsZero () && token .ExpiresAt .Before (expiresAtLimit ) {
51+ expiresAt = token .ExpiresAt
52+ }
4953 return r .setAuthTokenExpiry (ctx , token , expiresAt )
5054}
5155
@@ -57,10 +61,15 @@ func (r RedisAdapter) SetRefreshToken(ctx context.Context, token models.AuthToke
5761 return r .setAuthToken (ctx , token )
5862}
5963
60- func (r RedisAdapter ) SetRefreshTokenExpiry (ctx context.Context , token models.AuthToken , expiresAt time.Time ) error {
64+ func (r RedisAdapter ) SetRefreshTokenExpiry (ctx context.Context , token models.AuthToken , expiresAtLimit time.Time ) error {
6165 if token .Type != models .RefreshTokenType {
6266 return fmt .Errorf ("token is not of the right type" )
6367 }
68+ expiresAt := expiresAtLimit
69+ if ! token .ExpiresAt .IsZero () && token .ExpiresAt .Before (expiresAtLimit ) {
70+ expiresAt = token .ExpiresAt
71+ }
72+ slog .Info ("refresh token expiry" , "limit" , expiresAtLimit , "expires" , token .ExpiresAt , "zero" , token .ExpiresAt .IsZero ())
6473 return r .setAuthTokenExpiry (ctx , token , expiresAt )
6574}
6675
@@ -71,10 +80,14 @@ func (r RedisAdapter) SetIDToken(ctx context.Context, token models.AuthToken) er
7180 return r .setAuthToken (ctx , token )
7281}
7382
74- func (r RedisAdapter ) SetIDTokenExpiry (ctx context.Context , token models.AuthToken , expiresAt time.Time ) error {
83+ func (r RedisAdapter ) SetIDTokenExpiry (ctx context.Context , token models.AuthToken , expiresAtLimit time.Time ) error {
7584 if token .Type != models .IDTokenType {
7685 return fmt .Errorf ("token is not of the right type" )
7786 }
87+ expiresAt := expiresAtLimit
88+ if ! token .ExpiresAt .IsZero () && token .ExpiresAt .Before (expiresAtLimit ) {
89+ expiresAt = token .ExpiresAt
90+ }
7891 return r .setAuthTokenExpiry (ctx , token , expiresAt )
7992}
8093
0 commit comments