Junior — Middle
JWT nima va u ASP.NET ilovalarida qanday ishlatilishini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
JWT (JSON Web Token) — bu JSON obyekti shaklida tomonlar o‘rtasida ma’lumotlarni uzatish uchun mos va URL-ga xavfsiz usul. ASP.NET ilovalarida JWT ko‘pincha foydalanuvchilarni autentifikatsiya qilish va ruxsat berish uchun ishlatiladi.
Ishlash prinsipi:
- Foydalanuvchi kirish qilganda, server foydali ma’lumotlarni (masalan, foydalanuvchi identifikatori, rollar) o‘z ichiga olgan JWT yaratadi va uni maxfiy kalit bilan imzolaydi.
- Mijoz bu tokenni saqlaydi va keyingi so‘rovlarida Authorization sarlavhasida yuboradi.
- Server token imzosini tekshiradi, ma’lumotlarni chiqaradi va ularga asoslangan holda kirish qarorini qabul qiladi.
ASP.NET Core’da JWT konfiguratsiya misoli:
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"))
};
});
Shu tarzda, JWT xavfsiz va qulay tarzda sessiyalarni boshqarish imkonini beradi, serverda holatni saqlamasdan.