Sobes.tech
Junior — Middle

¿Puedes explicar qué es JWT y cómo se usa en las aplicaciones ASP.NET?

sobes.tech AI

Respuesta de la IA

JWT (JSON Web Token) es una forma compacta y segura para transmitir información entre partes en forma de objeto JSON. En aplicaciones ASP.NET, JWT se usa a menudo para la autenticación y autorización de usuarios.

Principio de funcionamiento:

  • Al iniciar sesión, el servidor crea un JWT que contiene datos útiles (por ejemplo, identificador de usuario, roles) y lo firma con una clave secreta.
  • El cliente guarda este token y lo envía en el encabezado Authorization en solicitudes posteriores.
  • El servidor verifica la firma del token, extrae los datos y toma decisiones de acceso basadas en ellos.

Ejemplo de configuración de JWT en 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"))
    };
});

De esta manera, JWT permite gestionar sesiones de forma segura y conveniente sin mantener estado en el servidor.