Sobes.tech
Junior — Middle

Tudnál magyarázatot adni, hogy mi az a JWT és hogyan használják az ASP.NET alkalmazásokban?

sobes.tech MI

Válasz az MI-től

A JWT (JSON Web Token) kompakt és URL-biztonságos módja az információk átadásának a felek között JSON-objektum formájában. ASP.NET alkalmazásokban a JWT gyakran használatos a felhasználók hitelesítésére és jogosultságának ellenőrzésére.

Működési elv:

  • Bejelentkezéskor a szerver létrehoz egy JWT-t, amely hasznos adatokat tartalmaz (pl. felhasználói azonosító, szerepkörök), és aláírja egy titkos kulccsal.
  • A kliens ezt a tokent tárolja, és a következő kérésekben az Authorization fejlécben küldi.
  • A szerver ellenőrzi a token aláírását, kinyeri az adatokat, és ezek alapján dönt a hozzáférésről.

Példa JWT konfigurációra ASP.NET Core-ban:

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"))
    };
});

Így a JWT lehetővé teszi a biztonságos és kényelmes munkamenedzsmentet anélkül, hogy állapotot kellene tárolni a szerveren.