@@ -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