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 უზრუნველყოფს უსაფრთხო და მოსახერხებელ სესიათა მართვას, სერვერზე სტატუსის შენახვის გარეშე.