Sobes.tech
Junior — Middle

Poți explica ce este JWT și cum este utilizat în aplicațiile ASP.NET?

sobes.tech AI

Răspuns de la AI

JWT (JSON Web Token) este o metodă compactă și sigură de transmitere a informațiilor între părți sub forma unui obiect JSON. În aplicațiile ASP.NET, JWT este adesea utilizat pentru autentificarea și autorizarea utilizatorilor.

Principiul de funcționare:

  • La autentificare, serverul creează un JWT care conține date utile (de exemplu, identificatorul utilizatorului, roluri) și îl semnează cu o cheie secretă.
  • Clientul păstrează acest token și îl trimite în antetul Authorization pentru solicitările ulterioare.
  • Serverul verifică semnătura tokenului, extrage datele și ia decizii de acces pe baza acestora.

Exemplu de configurare JWT în 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"))
    };
});

Astfel, JWT permite gestionarea sigură și convenabilă a sesiunilor fără a păstra stare pe server.