Sobes.tech
Junior — Middle

Môžete vysvetliť, čo je JWT a ako sa používa v aplikáciách ASP.NET?

sobes.tech AI

Odpoveď od AI

JWT (JSON Web Token) je kompaktan i URL-siguran način za prenos informacija između strana u obliku JSON objekta. U ASP.NET aplikacijama, JWT se često koristi za autentifikaciju i autorizaciju korisnika.

Princip rada:

  • Pri prijavi, server kreira JWT koji sadrži korisne podatke (npr. identifikator korisnika, uloge) i ga potpisuje tajnim ključem.
  • Klijent čuva ovaj token i šalje ga u zaglavlju Authorization pri narednim zahtevima.
  • Server proverava potpis tokena, izvlači podatke i na osnovu njih donosi odluku o pristupu.

Primer konfiguracije JWT u 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"))
    };
});

Овим начином, JWT омогућава безбедно и згодно управљање сесијама без чувања стања на серверу.