NBF en JWT significa Not Before
- Claim Name: "nbf"
- Claim Description: Not Before
Obtiene o establece la hora no anterior para el token de seguridad. Este valor debe estar en UTC.
Es decir nbf: Define el tiempo antes del cual el JWT NO DEBE ser aceptado para su procesamiento.
Si por algún motivo tenemos o debemos cambiar el valor de NFB podemos hacerlo de la siguiente forma.
En la configuración para obtener nuestro token vamos a tener algo parecido a esto:
private string generateJwtToken(User user)
{
// generate token that is valid for 7 days
var tokenHandler = new JwtSecurityTokenHandler();
var key = Encoding.ASCII.GetBytes(_appSettings.Secret);
var tokenDescriptor = new SecurityTokenDescriptor
{
Subject = new ClaimsIdentity(new[] { new Claim("id", user.Id.ToString()) }),
NotBefore = DateTime.UtcNow.AddMinutes(5),
Expires = DateTime.UtcNow.AddDays(7),
SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
};
var token = tokenHandler.CreateToken(tokenDescriptor);
return tokenHandler.WriteToken(token);
}
dentro de esta configuración la línea antes de especificar la expiración vamos a colocar la siguiente línea.
NotBefore = DateTime.UtcNow.AddMinutes(5)
Agregamos el tiempo en el que queremos que esté disponible nuestro token, en este caso de ejemplo le estoy agregando 5 minutos a la hora y fecha actual.
Y ya podemos observar los cambios generando el token y probándolo en https://jwt.io/
Eso es todo por hoy, espero que te sirvan de mucho estos recursos.
Puedes seguirme en Twitter, Instagram o Facebook para más contenido técnico, consejos y más.
Top comments (0)