/ beveiliging / jwt
Lid
Thema: SysteemContrast: Standaard

JWT-decoder en -verifier

Vastzetten bij jouw tools

Decodeer een JSON Web Token, controleer de geldigheid en claims en verifieer de handtekening met een geheim of publieke sleutel.

Werkt volledig in je browser. Wat je typt wordt nooit naar onze servers gestuurd.

Payload
token · 0 regels
PlakkenBestand openenCtrl OWissen

Payload

Weergave
payload · 0 regels
DownloadenKopiërenCtrl Shift C

Een geheim voor HS256/384/512, een publieke sleutel als PEM (SPKI of certificaat) voor de andere, of een JWK of JWKS (de sleutel wordt gekozen op de kid van het token). De sleutel wordt nooit gedeeld of opgeslagen.

lokaalgetest · v0.15.0 · 37 testcases

geschiedenis · 0

Verwerkte invoer verschijnt hier zolang deze pagina open is. Als je de pagina herlaadt, is de lijst leeg.

Codevoorbeelden

Kopieer deze voorbeelden naar je eigen project. Ze gebruiken alleen de standaardbibliotheek van de taal, dus er hoeft niets geïnstalleerd te worden.

Voorbeeld

Geef maximaal 3 talen een ster om ze op elke toolpagina eerst te zien.

JavaScript als favoriet instellen
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'

const payload = token.split('.')[1]
const json = Buffer.from(payload, 'base64url').toString('utf8')

console.log(JSON.stringify(JSON.parse(json), null, 2))

Wat het doet

Decodeer een JSON Web Token om de header en payload te lezen, zie of het verlopen is en verifieer de handtekening met een geheim of een publieke sleutel. Het token wordt in je browser gedecodeerd, deze pagina toont geen advertenties en het token en de sleutel worden nooit gedeeld of opgeslagen.

Zo gebruik je het

  1. Plak het token. Een Bearer -voorvoegsel en regeleinden worden genegeerd.
  2. Lees de payload als opgemaakte of compacte JSON. Eronder zie je het algoritme, de status en de tijden exp, nbf en iat, naast hoe ver ze van nu af liggen.
  3. Voer de sleutel in om de handtekening te verifiëren: een geheim voor HS256, HS384 en HS512, of een publieke sleutel (PEM of JWK) voor RS, PS, ES en EdDSA.
  4. Schakel de header en de payload om tussen JSON en Claims: Claims toont elke claim met wat hij betekent en laat tijdclaims als datum zien.
  5. Open het tabblad Coderen om een header en payload te schrijven en te ondertekenen met een geheim of een privésleutel (PKCS#8-PEM of JWK). Niets op dat tabblad wordt opgeslagen, gedeeld of aan de geschiedenis toegevoegd.

Voorbeelden

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

De payload van dat token:

{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022
}

De handtekening wordt geverifieerd met het geheim your-256-bit-secret.

Goed om te weten

  • Decoderen is niet verifiëren: de payload is alleen gecodeerd, niet versleuteld, en iedereen kan hem lezen.
  • Je server moet de handtekening verifiëren voordat hij een claim vertrouwt.
  • Een token met het algoritme none is niet ondertekend, dus iedereen kan het gemaakt hebben.
  • Behandel echte tokens als wachtwoorden. Gebruik liever verlopen of testtokens als je er hier een plakt.
  • Een geplakte JWKS wordt doorzocht op de kid van het token, en een enkele JWK wordt gebruikt zoals hij is. De pagina haalt nooit een sleutelset op bij de uitgever van het token.
  • Een HMAC-geheim dat korter is dan zijn hash (32, 48 of 64 bytes) is te raden, dus de pagina waarschuwt je. Een geheim kan als UTF-8-tekst of als Base64URL worden gelezen.

Wat is een JWT?

Een JSON Web Token bestaat uit drie Base64URL-delen met punten ertussen: een header met het ondertekeningsalgoritme, een payload met claims zoals voor wie het token is en wanneer het verloopt, en een handtekening. Iedereen kan de eerste twee delen lezen; alleen de handtekening bewijst dat het token komt van iemand met de sleutel.

Veelgestelde vragen

Is een token decoderen hetzelfde als verifiëren?

Nee. Decoderen leest alleen de inhoud, die niet versleuteld is. Verifiëren controleert de handtekening met de sleutel, en je server moet dat doen voordat die een claim vertrouwt.

Wat betekenen exp, nbf en iat?

exp is wanneer het token verloopt, nbf het moment vóór welk het niet geldig is en iat wanneer het is uitgegeven, allemaal in seconden sinds 1970. Deze tool vergelijkt ze met de klok van je apparaat.

Is het veilig om hier een echt token te plakken?

Het token wordt in je browser gedecodeerd en nooit naar onze servers gestuurd, en deze pagina toont geen advertenties. Behandel echte tokens toch als wachtwoorden: gebruik liever verlopen of testtokens.

Wijzigingen van deze tool

Sneltoetsen

Sluiten

Overal

Tools en acties zoeken
Ctrl K
Deze hulp tonen
?
Thema wisselen
Ctrl Shift L
Geselecteerde tool vastzetten (in zoeken)
Ctrl P

In een tool

Uitvoer naar de eerste suggestie sturen
Ctrl ↵
Bestand in de invoer openen
Ctrl O
Uitvoer kopiëren
Ctrl Shift C
Zoeken sluitenesc
toolsBase64 coderen en decoderenZet tekst om naar Base64 of decodeer Base64 terug naar tekst, met het standaard- en URL-veilige alfabet.CoderenJSON-formatter en -validatorJSON opmaken, minifyen en valideren, met de exacte regel en kolom van elke fout.OpmakenRegex-testerTest JavaScript reguliere expressies met live markering, capture groups en een uitleg in gewone taal.TekstUUID- en ULID-generatorGenereer UUID v4, UUID v7 en ULID in bulk, of plak een ID om de versie, variant en tijdstempel te zien.GeneratorenUnix-tijdstempelconverterZet Unix-tijdstempels om naar datums en terug, in elke tijdzone, met ISO 8601, RFC 2822 en relatieve tijd.Datum en tijdHash- en HMAC-generatorBereken MD5-, SHA-1-, SHA-2-, SHA-3-, BLAKE2-, BLAKE3- en CRC-32-hashes van tekst of een bestand, met optionele HMAC.BeveiligingWachtwoordgenerator en sterktecontroleGenereer willekeurige wachtwoorden, wachtzinnen en pincodes, of controleer hoe sterk een wachtwoord is.BeveiligingJWT-decoder en -verifierDecodeer een JSON Web Token, controleer de geldigheid en claims en verifieer de handtekening met een geheim of publieke sleutel.BeveiligingCIDR- en IP-subnetcalculatorBereken bereik, masker en grootte van IPv4- en IPv6-netwerken, splits ze in subnetten en controleer wat in wat zit of overlapt.NetwerkCron-expressie uitleggerLees een cron-expressie in gewone taal, zie de volgende uitvoeringen in elke tijdzone en breng hem terug naar de standaardvorm.Datum en tijdRegels sorterenSorteer regels tekst van A naar Z of Z naar A, in natuurlijke volgorde (file2 voor file10), op codepunt, op getal of op lengte.TekstDubbele regels verwijderenVerwijder dubbele regels uit een lijst, bewaar de eerste of laatste kopie, negeer hoofdletters of spaties, of verwijder elke regel die herhaald wordt.TekstLijsten en tekst vergelijkenVergelijk twee lijsten regel voor regel: vind wat in beide staat, in één van de twee of in een van beide, of bekijk een gemarkeerd regelverschil naast elkaar.TekstTekstnotatie en slug makenZet tekst om naar camelCase, snake_case, kebab-case, Title Case en meer, of maak van een titel een URL-slug met afhandeling van accenten.TekstURL coderen, decoderen en parsenCodeer en decodeer tekst met procentcodering voor URL’s, of haal een URL uit elkaar in schema, host, pad en query en bewerk de query als tabel.CoderenValidators: IBAN, BSN, btw, pas en ISBNControleer een IBAN, BSN, creditcardnummer, EU-btw-nummer, e-mailadres, URL of ISBN, met de reden als het misgaat. Eén waarde per regel.ValiderenHTML-entities coderen en decoderenEscape tekst voor HTML met benoemde, decimale of hexadecimale entities, of zet entities als & en é terug om in tekens.CoderenStrings escapen en unescapenEscape tekst voor een JSON- of JavaScript-string, een SQL-string, een CSV-veld, een reguliere expressie of een shellwoord, of maak het escapen ongedaan.CoderenEAN-, UPC- en GTIN-controlecijfersControleer het controlecijfer van een EAN-8, EAN-13, UPC-A of GTIN-14, vul een ontbrekend cijfer aan, lees het land uit het GS1-voorvoegsel en reken ISBN-10 om naar EAN-13. Eén code per regel.ValiderenTestdata-generatorGenereer geldig ogende test-IBAN’s, BSN’s, EAN-barcodes en Europese btw-nummers in bulk. Ze slagen voor de controles, maar zijn van niemand.GeneratorenSQL-formatter en minifierMaak SQL leesbaar met elke clausule op een eigen regel, of minifieer het tot één regel, voor MySQL, PostgreSQL, SQLite, SQL Server en BigQuery.OpmakenTalstelselomrekenaarReken getallen om tussen binair, octaal, decimaal, hex en elk talstelsel van 2 tot 36, met grote getallen, two's complement en een bitweergave.CoderenYAML-, TOML- en JSON-converterZet om tussen JSON, YAML en TOML, of valideer en formatteer een document, met regel en kolom van elke fout.OpmakenCSV en JSON converterZet CSV om naar een JSON-array van objecten of arrays, of JSON terug naar CSV. Herkent het scheidingsteken en leest Nederlandse Excel-bestanden met puntkomma’s en decimale komma’s.DataGlob- en .gitignore-testerTest glob-patronen en .gitignore-regels op een lijst paden en zie welke paden passen en welke regel dat deed.TekstKleurconverterReken een kleur om tussen HEX, RGB, HSL, HWB en OKLCH, controleer het WCAG-contrast met een achtergrond of bouw er een Material 3-tonenpalet van.Opmakenchmod-calculatorReken Unix-bestandsrechten om tussen octaal (755), letters (rwxr-xr-x), ls -l en chmod-clausules, met een rooster van selectievakjes en de setuid-, setgid- en sticky-bits.BeveiligingUser-agent-parserLees een user-agent-string: browser, engine, besturingssysteem, apparaattype en of het een bot is. Laat het leeg om je eigen browser te lezen.NetwerkcURL omzetten naar codePlak een cURL-opdracht en krijg hetzelfde verzoek als fetch, Axios, Python requests, Go of PHP. Er wordt niets uitgevoerd en niets verstuurd.NetwerkMarkdown-voorbeeldSchrijf Markdown en zie het meteen weergegeven, of kopieer de HTML. Ruwe HTML wordt als tekst getoond en links worden gecontroleerd, dus niets in het voorbeeld kan draaien.OpmakenBarcode- en QR-codegeneratorMaak een QR-code, EAN-13, UPC-A, Code 128, ITF-14 of Data Matrix, download hem als SVG of PNG, of lees een code uit een afbeelding.Generatorenpagina’sWijzigingenWat er in elke release veranderdepagina’sOver onsWat codeknife.dev is en wie het maaktpagina’sIdeeënStel verbeteringen voor en stem op de ideeën van andere bezoekers.pagina’sPrivacyWat je browser verlaat en wat wordt bewaardpagina’sToegankelijkheidConformiteit, bekende beperkingen en hoe je een probleem meldtpagina’sLidmaatschapHaal advertenties weg en verhoog de limietenpagina’sacties