Ao fazer o login no endpoint auth/login notei que há um campo no json de retorno com a expiração do token e o valor fixado está em 3600, gostaria de saber como alterar ou nunca incrementar para expirar.
Ao fazer o login no endpoint auth/login notei que há um campo no json de retorno com a expiração do token e o valor fixado está em 3600, gostaria de saber como alterar ou nunca incrementar para expirar.
Oii! Tudo bem?
Você precisa ajustar a configuração no local onde o token é gerado.
Um exemplo de código seria deste jeito:
public string GenerateJwtToken()
{
var tokenHandler = new JwtSecurityTokenHandler();
var key = Encoding.ASCII.GetBytes("your_secret_key_here");
var tokenDescriptor = new SecurityTokenDescriptor
{
Subject = new ClaimsIdentity(new Claim[]
{
new Claim(ClaimTypes.Name, "user_name")
}),
Expires = DateTime.UtcNow.AddHours(3), // Ajuste o tempo aqui
SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
};
var token = tokenHandler.CreateToken(tokenDescriptor);
return tokenHandler.WriteToken(token);
}
Ali no código, alteramos o Expires = DateTime.UtcNow.AddHours(3)
, o que significa que o token agora expirará em 3 horas. Você pode ajustar esse valor para o tempo que achar mais adequado.
Se você deseja que o token nunca expire, pode remover ou comentar a linha que define Expires
. Importante: tenha cuidado com essa abordagem, pois tokens que nunca expiram podem representar um risco de segurança se forem interceptados ou vazarem de alguma forma.
Se outra dúvida surgir, estamos disponíveis.
Abraços e bons estudos! :)