Sobes.tech
Junior — Middle

Pode explicar o que é JWT e como é utilizado em aplicações ASP.NET?

sobes.tech IA

Resposta da IA

JWT (JSON Web Token) é uma forma compacta e segura de transmitir informações entre partes na forma de um objeto JSON. Em aplicações ASP.NET, o JWT é frequentemente usado para autenticação e autorização de utilizadores.

Princípio de funcionamento:

  • Ao fazer login, o servidor cria um JWT que contém dados úteis (por exemplo, identificador de utilizador, funções) e assina-o com uma chave secreta.
  • O cliente guarda este token e envia-o no cabeçalho Authorization em pedidos subsequentes.
  • O servidor verifica a assinatura do token, extrai os dados e toma decisões de acesso com base neles.

Exemplo de configuração do JWT no ASP.NET Core:

services.AddAuthentication(options => {
    options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
    options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options => {
    options.TokenValidationParameters = new TokenValidationParameters {
        ValidateIssuer = true,
        ValidateAudience = true,
        ValidateLifetime = true,
        ValidateIssuerSigningKey = true,
        ValidIssuer = "yourIssuer",
        ValidAudience = "yourAudience",
        IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("yourSecretKey"))
    };
});

Desta forma, o JWT permite gerir sessões de forma segura e conveniente sem manter estado no servidor.