@@ -42,10 +42,15 @@ 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+ }
53+ slog .Info ("access token expiry" , "limit" , expiresAtLimit , "expires" , token .ExpiresAt , "zero" , token .ExpiresAt .IsZero ())
4954 return r .setAuthTokenExpiry (ctx , token , expiresAt )
5055}
5156
@@ -57,10 +62,14 @@ func (r RedisAdapter) SetRefreshToken(ctx context.Context, token models.AuthToke
5762 return r .setAuthToken (ctx , token )
5863}
5964
60- func (r RedisAdapter ) SetRefreshTokenExpiry (ctx context.Context , token models.AuthToken , expiresAt time.Time ) error {
65+ func (r RedisAdapter ) SetRefreshTokenExpiry (ctx context.Context , token models.AuthToken , expiresAtLimit time.Time ) error {
6166 if token .Type != models .RefreshTokenType {
6267 return fmt .Errorf ("token is not of the right type" )
6368 }
69+ expiresAt := expiresAtLimit
70+ if ! token .ExpiresAt .IsZero () && token .ExpiresAt .Before (expiresAtLimit ) {
71+ expiresAt = token .ExpiresAt
72+ }
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