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.