JWT Decoder/

Jouw gegevens zijn 100% privé -- JWT wordt volledig gedecodeerd en gecodeerd direct op je apparaat.

JWT
Gedecodeerde header
Gedecodeerde payload
Openbare sleutel

Leer meer over JWT

Alle informatie die je nodig hebt over JWT en een stapsgewijze handleiding om JWT te verifiëren in diverse frameworks.

Wat is JWT?

JWT (JSON Web Token) is een zelfgedragen, stateloze token die informatie draagt in een gestructureerd en leesbaar formaat. Of je nu een API beveiligt of token-gebaseerde authenticatie voor je applicatie aanneemt, JWTs zijn een krachtig hulpmiddel, omdat ze:

  • Stateloos: JWTs zijn zelfgedragen en vereisen geen serverside status om te valideren. JWT kan gegevensintegriteit garanderen via handtekeningen.
  • Cross-service compatibiliteit: JWTs kunnen gemakkelijk gedeeld en geverifieerd worden tussen verschillende diensten.
  • Uitschuifbaar: De payload van een JWT kan aangepaste claims bevatten, waardoor flexibele autorisaties en het delen van informatie mogelijk zijn.
Leer meer

De structuur van JWT

Een typische JWT is opgesplitst in drie delen, elk gecodeerd in Base64URL en gescheiden door punten (.):

  • Header - Bevat metadata, zoals het ondertekeningsalgoritme (bijv. HS256 of RS256) en het type token (JWT).
  • Payload - Bevat de daadwerkelijke gegevens, zoals gebruikers-ID, gebruikersprofiel, vervaltijd of scopes.
  • Handtekening - Een gehashte combinatie van de header, payload en beveiligd met een geheime sleutel. Het doel is om de integriteit van het token te waarborgen en te bevestigen dat het niet is gewijzigd.

Deze structuur stelt JWTs in staat om een compacte, veilige manier van het overbrengen van informatie tussen partijen te bieden.

jwt_structure

Veelvoorkomende token-aanvragen in JWT

De claims maken deel uit van de payload en bevatten de belangrijkste informatie. Hier zijn gestandaardiseerde geregistreerde claims voor je referentie:

ClaimsVolledige naamBeschrijving
issUitgeverDe entiteit die de JWT heeft uitgegeven, zoals de autorisatieserver.
subOnderwerpIdentificeert het onderwerp van de JWT, meestal de geauthenticeerde gebruiker.
audDoelgroepSpecificeert welke ontvangers het token kunnen accepteren en verwerken. Dit kan een array van waarden zijn voor meerdere doelgroepen of een enkele waarde voor een enkele ontvanger.
expVervaltijdStelt een verstrijktijd in op het token waarna het ongeldig wordt. Dit helpt om het herhalingsaanvallen te voorkomen door te beperken hoe lang een token geldig blijft.
nbfNiet eerderMaakt een token alleen geldig na dit tijdstip. Nuttig in situaties waarin klokken niet toegankelijk zijn.
iatUitgegeven opWanneer het token werd aangemaakt. Dit kan worden gebruikt om de leeftijd van het token te bepalen.
jtiJWT-IDEen unieke identificator voor het token, nuttig om te voorkomen dat hetzelfde token meerdere keren wordt gebruikt (bijv. bij herhalingsaanvallen).

Afhankelijk van de specificatie en de configuratie van de autorisatieserver kunnen aanvullende claims worden opgenomen in de payload om specifieke use-cases te ondersteunen. Je kunt ook aangepaste claims toevoegen aan JWT om aan unieke zakelijke eisen te voldoen.

Voorzichtigheid: Bewaar geen persoonlijke of gevoelige informatie in JWT-claims. Hoewel JWT-claims worden gecodeerd (met Base64URL), zijn ze niet versleuteld. Dit betekent dat iedereen met het token het kan decoderen en de claims kan bekijken, zelfs als ze het niet kunnen wijzigen zonder de handtekening ongeldig te maken. Gebruik versleuteling of andere veilige methoden om gevoelige gegevens indien nodig te beschermen.

Wanneer gebruik je JWT?

JWTs kunnen bijzonder voordelig zijn in de volgende scenario’s:

  1. Microservices architectuur: Voor stateloze authenticatie over meerdere services heen.
  2. Single sign-on (SSO) systemen: Toegang tot meerdere applicaties met één authenticatie mogelijk maken.
  3. Mobiele applicaties: Efficiënt bijhouden van gebruikerssessies over API-oproepen.
  4. Hoog-verkeer applicaties: Verminderen van de databasebelasting in omgevingen met hoog volume.
  5. Cross-origin resource sharing (CORS): Eenvoudiger authentiseren over meerdere domeinen.
  6. Serverloze architecturen: Zorg voor stateloze authenticatie waar serversessies moeilijk zijn.
Leer meer

Hoe verifieer je JWT?

De integriteit van een JWT moet worden geverifieerd om ervoor te zorgen dat de header en payload niet zijn gemanipuleerd. Hieronder staan stapsgewijze voorbeelden voor het verifiëren van JWTs in populaire programmeeromgevingen:

Gerelateerde JWT-onderwerpen

Alle informatie die je nodig hebt over JWT en een stapsgewijze handleiding om JWT te verifiëren in diverse frameworks.

Ontgrendel meer met Logto Cloud

Vereenvoudig je workflow en zorg voor veilig gebruikersbeheer met Logto Cloud. Gebouwd op OpenID Connect (OIDC), het maakt gebruik van JWT om een betrouwbaar authenticatie- en autorisatiesysteem te bieden dat is ontworpen om mee te schalen met je behoeften.