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.