Sobes.tech
Junior — Middle

Kun je uitleggen wat JWT is en hoe het wordt gebruikt in ASP.NET-toepassingen?

sobes.tech AI

Antwoord van AI

JWT (JSON Web Token) is een compacte en URL-veilig manier om informatie tussen partijen over te dragen in de vorm van een JSON-object. In ASP.NET-toepassingen wordt JWT vaak gebruikt voor authenticatie en autorisatie van gebruikers.

Werking:

  • Bij inloggen maakt de server een JWT aan dat nuttige gegevens bevat (bijvoorbeeld gebruikers-ID, rollen) en ondertekent het met een geheime sleutel.
  • De client bewaart deze token en stuurt het in de Authorization-header bij volgende verzoeken.
  • De server verifieert de handtekening van de token, haalt de gegevens eruit en neemt op basis daarvan beslissingen over toegang.

Voorbeeld van JWT-configuratie in 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"))
    };
});

Op deze manier maakt JWT het mogelijk om sessies veilig en handig te beheren zonder toestand op de server op te slaan.