Sobes.tech
Junior — Middle

Pouvez-vous expliquer ce qu'est JWT et comment il est utilisé dans les applications ASP.NET?

sobes.tech IA

Réponse de l'IA

JWT (JSON Web Token) est une méthode compacte et sécurisée pour transmettre des informations entre parties sous forme d'objet JSON. Dans les applications ASP.NET, JWT est souvent utilisé pour l'authentification et l'autorisation des utilisateurs.

Principe de fonctionnement :

  • Lors de la connexion, le serveur crée un JWT contenant des données utiles (par exemple, l'identifiant de l'utilisateur, les rôles) et le signe avec une clé secrète.
  • Le client conserve ce jeton et l'envoie dans l'en-tête Authorization lors des requêtes suivantes.
  • Le serveur vérifie la signature du jeton, extrait les données et prend des décisions d'accès en fonction.

Exemple de configuration JWT dans 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"))
    };
});

Ainsi, JWT permet de gérer les sessions de manière sécurisée et pratique sans stocker d'état sur le serveur.