1
resposta

[Dúvida] Token expirando

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.

1 resposta

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! :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software