Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ, რა არის JWT და როგორ გამოიყენება იგი ASP.NET აპლიკაციებში?

sobes.tech AI

პასუხი AI-სგან

JWT (JSON Web Token) — ეს არის კომპაქტური და URL-საშიში მეთოდი ინფორმაციის გადაცემისთვის მხარეებს შორის JSON-ობიექტის სახით. ASP.NET პროგრამებში JWT ხშირად გამოიყენება მომხმარებლების ავტორიზაციისა და სერთიფიკატის გასაცემად.

მუშაობის პრინციპი:

  • შესვლის დროს, სერვერი ქმნის JWT-ს, რომელიც შეიცავს სასარგებლო მონაცემებს (მაგალითად, მომხმარებლის იდენტიფიკატორი, როლები) და ხელს აწერს საიდუმლო გასაღებით.
  • მომხმარებელი ინახავს ამ ტოკენს და აგზავნის მას ავტორიზაციის სათაურში შემდეგი მოთხოვნების დროს.
  • სერვერი ამოწმებს ტოკენის ხელმოწერას, ამოიღებს მონაცემებს და მათზე დაყრდნობით იღებს გადაწყვეტილებას წვდომის შესახებ.

ASP.NET Core-ში JWT-ის კონფიგურაციის მაგალითი:

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

ასე, JWT უზრუნველყოფს უსაფრთხო და მოსახერხებელ სესიათა მართვას, სერვერზე სტატუსის შენახვის გარეშე.