JwtSecurityToken no caduca cuando debería

Actualmente estoy usando la clase JwtSecurityToken en el espacio de nombres System.IdentityModels.Tokens. Creo un token usando lo siguiente:

DateTime expires = DateTime.UtcNow.AddSeconds(10);
JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler();
var genericIdentity = new System.Security.Principal.GenericIdentity(username, "TokenAuth");

ClaimsIdentity identity = new ClaimsIdentity(claims);
string secret = ConfigurationManager.AppSettings["jwtSecret"].ToString();
var securityKey = new     InMemorySymmetricSecurityKey(Encoding.Default.GetBytes(secret));
var signingCreds = new SigningCredentials(securityKey,     SecurityAlgorithms.HmacSha256Signature, SecurityAlgorithms.HmacSha256Signature);
var securityToken = handler.CreateToken(
    issuer: issuer,
    audience: ConfigurationManager.AppSettings["UiUrl"].ToString(),
    signingCredentials: signingCreds,
    subject: identity,
    expires: expires,
    notBefore: DateTime.UtcNow
);
return handler.WriteToken(securityToken); 

Por alguna razón, aunque el vencimiento se establece en 10 segundos después de la hora actual, en realidad no arroja una excepción cuando el token se valida hasta aproximadamente 5 minutos. Después de ver esto, pensé que tal vez había un tiempo mínimo de vencimiento de 5 minutos, así que configuré el tiempo de vencimiento para:

DateTime.UtcNow.AddMinutes(5);

Luego caduca a los 10 minutos, pero el mensaje de excepción dice que el tiempo de caducidad se establece en lo que se supone que debe ser (5 minutos después de que el usuario inicia sesión), y cuando muestra la hora actual en la excepción, es 5 minutos después El tiempo de caducidad. Por lo tanto, parece saber cuándo DEBE caducar, pero en realidad no arroja la excepción hasta 5 minutos después del tiempo de caducidad. Luego, dado que el token parece estar agregando 5 minutos a cualquier hora que configuro para que expire, configuré el tiempo de expiración para:

DateTime.UtcNow.AddMinutes(-5).AddSecond(10);

Probé esto y hasta ahora todavía no ha expirado (después de más de diez minutos). ¿Alguien puede explicar por qué sucede esto y qué estoy haciendo mal? Además, si ve algo más con el código que proporcioné, le agradecería cualquier orientación, ya que soy nuevo en el uso de JWT y esta biblioteca.

Gracias de antemano

Respuestas a la pregunta(4)

Su respuesta a la pregunta