Utilia

JWT dekoderis

Atkodējiet JWT galveni un datus, skatiet exp, iat un nbf kā datumus un pārbaudiet HS256, RS256, ES256 vai EdDSA parakstu savā pārlūkprogrammā.

Žetoni ir akreditācijas dati. Šis rīks tos atkodē un pārbauda jūsu pārlūkprogrammā un nekur nesūta.

Pārbaudīt parakstu

HS256/384/512: ievadiet kopīgo noslēpumu. RS, PS, ES (256/384/512) un EdDSA: ielīmējiet publisko atslēgu kā PEM (publiskā atslēga, RSA publiskā atslēga vai sertifikāts) vai JWK (JWK kopa tiek atlasīta pēc kid).

Kā atkodēt JWT

  1. Ielīmējiet žetonu laukā JSON Web Token. Der arī pilna vērtība Authorization: Bearer …: priedēklis Bearer un rindu pārtraukumi tiek noņemti.
  2. Žetons tiek atkodēts rakstīšanas laikā (vai noklikšķiniet uz Atkodēt). Galvene un Dati (payload) parādās kā formatēts JSON, katrai ir sava poga Kopēt.
  3. Izlasiet tabulu Laika apgalvojumi: exp, nbf un iat tiek rādīti ar neapstrādātu vērtību, datumu jūsu laika joslā, relatīvu laiku („pēc 3 stundām“, „pirms 2 dienām“) un statusu, piemēram, Beidzies derīguma termiņš vai Vēl nav derīgs.
  4. Pārbaudiet brīdinājumus virs rezultātiem, piemēram, ja alg ir none vai ja datums izskatās pēc milisekundēm.
  5. Lai pārbaudītu parakstu, sadaļā Pārbaudīt parakstu ievadiet atslēgu un noklikšķiniet uz Pārbaudīt parakstu.

Atkodēšana nav pārbaude

JWT ir trīs Base64url daļas, kas atdalītas ar punktiem: header.payload.signature. Galvene un dati ir tikai kodēti, nevis šifrēti, tāpēc tos var izlasīt ikviens, kam ir žetons, un šis rīks var atkodēt jebkuru žetonu bez atslēgas. Tas arī nozīmē, ka atkodēti dati neko neapliecina: kāds tos varēja būt mainījis. Tikai derīgs paraksts parāda, ka žetonu izdevis atslēgas īpašnieks un ka tas kopš tā laika nav mainīts. Tāpēc statusa rindā ir teikts „Atkodēts (paraksts nav pārbaudīts)“, kamēr neesat veikuši pārbaudi.

Žetons ar piecām daļām ir JWE (šifrēts JWT); tā saturu nevar nolasīt bez atšifrēšanas atslēgas, un rīks par to paziņo.

Paraksta pārbaude

  • HS256, HS384, HS512 (HMAC): ievadiet kopīgo Noslēpumu. Ar Noslēpuma formāts norādiet, vai tas ir vienkāršs teksts (UTF-8) vai Base64/Base64url, jo daži pakalpojumu sniedzēji noslēpumus glabā Base64 formātā. Varat ielīmēt arī oct tipa JWK. Ja noslēpums ir īsāks par jaucējkoda izvadi (HS256 gadījumā 32 baiti), rīks piezīmē, ka tas ir zem RFC 7518 minimuma.
  • RS256/384/512, PS256/384/512, ES256/384/512 un EdDSA: ielīmējiet Publiskā atslēga (PEM vai JWK). Atbalstītie PEM bloki ir PUBLIC KEY, RSA PUBLIC KEY un CERTIFICATE (atslēga tiek nolasīta no X.509 sertifikāta). Der arī JWK vai vesela JWK kopa: tiek izmantota atslēga, kuras kid atbilst galvenei. Privātās atslēgas tiek noraidītas; pārbaudei tās nekad nav vajadzīgas. EdDSA atbalsta Ed25519 pārlūkprogrammās, kurās Web Crypto to ir īstenota.

Pārbaude izmanto pārlūkprogrammas Web Crypto API. Rezultāts „Nederīgs paraksts“ nozīmē, ka atslēga ir nepareiza vai žetons ir mainīts. Ņemiet vērā, ka algoritms tiek ņemts no žetona galvenes: īstam serverim paredzamais algoritms jānorāda konfigurācijā, citādi to var izvēlēties uzbrucējs.

Drošības piezīmes

  • Žetoni ir akreditācijas dati. Ikviens, kam ir derīgs piekļuves žetons, parasti var rīkoties tā īpašnieka vārdā, kamēr žetona derīguma termiņš nav beidzies. Šis rīks visu atkodē un pārbauda jūsu pārlūkprogrammā un žetonu vai atslēgu nekur nesūta. Tomēr izvairieties no ražošanas žetonu ielīmēšanas rīkos, kurus nevarat pārbaudīt.
  • alg: none nozīmē, ka žetons nav parakstīts. Jebkurš var izveidot tādu žetonu, un serverim tas jānoraida. Rīks parāda brīdinājumu un atsakās šādu žetonu „pārbaudīt“.
  • Laika pārbaudes šeit izmanto jūsu datora pulksteni bez pielaides; serveri bieži pieļauj minūtes vai divu pulksteņu nobīdi.
  • JWT datumi (NumericDate) ir sekundes kopš 1970. gada 1. janvāra UTC. 13 ciparu vērtība, visticamāk, ir milisekundēs, un tā ir bieži sastopama kļūda.

Biežāk uzdotie jautājumi

Vai šis rīks var pateikt, vai žetons ir derīgs?

Tas var pateikt, vai paraksts atbilst jūsu norādītajai atslēgai un vai exp un nbf ir izpildīti šobrīd. Vai žetons tiek pieņemts, ir atkarīgs arī no pārbaudēm, ko zina tikai serveris: paredzamā izdevēja (iss), mērķauditorijas (aud), algoritma un atsaukšanas.

Kāpēc pārbaude neizdodas ar pareizu noslēpumu?

Pārbaudiet Noslēpuma formāts: Base64 noslēpums, kas ievadīts kā teksts, dod citu atslēgu. Pārliecinieties arī, ka noslēpumam nav pievienota atstarpe vai rindas pārtraukums, jo HMAC atslēgas tiek salīdzinātas baits pa baitam.

Kāda ir atšķirība starp RS256, PS256 un ES256?

Visi trīs ir publiskās atslēgas paraksti ar SHA-256. RS256 izmanto RSA ar PKCS#1 v1.5 papildinājumu, PS256 izmanto RSA ar PSS papildinājumu, bet ES256 izmanto ECDSA uz P-256 līknes, kas dod ievērojami īsākus parakstus.

Kur atrast pakalpojumu sniedzēja publisko atslēgu?

Identitātes pakalpojumu sniedzēji publicē JWKS (JSON Web Key Set), parasti ar saiti no /.well-known/openid-configuration pie jwks_uri. Atveriet to pats un ielīmējiet JSON šeit; rīks izvēlas atslēgu pēc kid un nekad neko neielādē.

Vai ir droši šeit ielīmēt savu žetonu?

Žetons paliek jūsu ierīcē: atkodēšana un pārbaude notiek lokāli, un nekas netiek augšupielādēts. Lielākai piesardzībai izmantojiet žetonu ar beigušos derīguma termiņu vai testa žetonu, ja jums tikai jāapskata struktūra.