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.