Sobes.tech
Junior — Middle

Vai vari paskaidrot, kas ir JWT un kā tas tiek izmantots ASP.NET lietojumprogrammās?

sobes.tech AI

Atbilde no AI

JWT (JSON Web Token) ir kompakts un URL-drošs veids, kā pārsūtīt informāciju starp pusēm JSON objekta formā. ASP.NET lietojumprogrammās JWT bieži tiek izmantots lietotāju autentifikācijai un autorizācijai.

Darbības princips:

  • Piesakoties, serveris izveido JWT, kas satur noderīgus datus (piemēram, lietotāja identifikatoru, lomas) un to paraksta ar slepenu atslēgu.
  • Klients saglabā šo tokenu un nosūta to Authorization galvenē nākamajos pieprasījumos.
  • Serveris pārbauda tokena parakstu, izvelk datus un pieņem lēmumu par piekļuvi, pamatojoties uz tiem.

Piemērs JWT konfigurācijai 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"))
    };
});

Tādējādi, JWT ļauj droši un ērti pārvaldīt sesijas bez stāvokļa glabāšanas serverī.