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.