Sobes.tech
Junior — Middle

Kas saak selgitada, mis on JWT ja kuidas seda kasutatakse ASP.NET rakendustes?

sobes.tech AI

Vastus AI-lt

JWT (JSON Web Token) on kompaktne ja URL-turvaline viis edastada teavet osapoolte vahel JSON-objekti vormis. ASP.NET rakendustes kasutatakse JWT sageli kasutajate autentimiseks ja autoriseerimiseks.

Tööpõhimõte:

  • Sisselogimisel loob server JWT, mis sisaldab kasulikke andmeid (nt kasutaja identifikaator, rollid) ja allkirjastab selle salajase võtmega.
  • Klient salvestab selle tokeni ja saadab selle Authorization päises järgmistes päringutes.
  • Server kontrollib tokeni allkirja, ekstraktib andmed ja teeb juurdepääsupõhise otsuse nende alusel.

Näide JWT konfiguratsioonist ASP.NET Core'is:

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

Sel moel võimaldab JWT turvaliselt ja mugavalt hallata sessioone ilma serveris olekut salvestamata.