Ruka hadi maudhui makuu

Msimbulivu wa JWT bila malipo

Simbulivu na ukague Tokeni yoyote ya Wavuti ya JSON. Angalia kichwa, mzigo, mwisho wa muda, na madai ya kawaida. Kila kitu kinafanya kazi ndani ya kivinjari chako β€” tokeni haziachi kifaa chako.

Inafanya kazi bila mtandao mara ikishapakia

πŸ”’ Tokeni inasimbuliwa kabisa kwenye kivinjari chako. Hakuna kinachotumwa kwa seva yoyote.

Matumizi ya kawaida

  • Kukamatia shida za uthibitisho kwa JWT DecoderAngalia JWT kutokana na programu yako kukamatia shida za kuingia, shida za ruhusa, na shida za muda wa tokeni.
  • Angalia alama za API wakati wa jaribu la nchaNambari JWT iliyotolewa na API yako ili kuthibitisha kuteseka, ujuzi, na ruhusa sahihi inatoka.
  • Jaribu la usalama JWT alamaAngalia JWT kama sehemu ya jaribu la usalama β€” angalia algoritmu za kuandika dhaifu, muda wa tokeni unaozidi, au data nyeti katika mzigo.
  • Angalia OAuth na OpenID Connect alamaNambari access alama, ID alama, na kusambaza upya alama kutokana na Google, Auth0, Okta, Microsoft, na wahusika wa OAuth.
  • Jifunze jinsi JWT alama zinavyofanya kaziNambari mfano JWT kufahamu muundo: kichwa, mzigo, na kuandika. Angalia mfano wa ulimwengu halisi.

Jinsi Inavyofanya Kazi

Kiondoa simbo ni kichambuzi kilichoandikwa mwenyewe, kisicho na utegemezi, kinachofanya kazi kikamilifu kwenye kivinjari chako: kinagawanya token kwenye nukta, kubadilisha kila sehemu ya Base64URL kuwa Base64 wazi kwa ubadilishaji wa mfuatano na kuirembesha hadi kizidishi cha nne, kisha kuita atob() na JSON.parse ya asili ya kivinjari kurudisha vitu vya kichwa na payload. Uthibitishaji wa hiari wa sahihi unatumia Web Crypto API (crypto.subtle.verify) β€” hakuna maktaba, hakuna seva.

  1. 1
    Uondoaji simbo wa Base64URL
    Kifaa kinagawanya JWT kwenye vitenganishi vyake viwili vya nukta, kikitoa sehemu tatu. Kila sehemu ni Base64URL β€” inayotumia - na _ badala ya + na / na kuacha urembeshaji. Msimbo unabadilisha herufi hizo kurudi na kurembesha kwa alama za =, kisha kuita atob() ya asili ya kivinjari kuondoa simbo baiti.
  2. 2
    Uchambuzi wa JSON na utoaji wa madai
    Baiti zilizoondolewa simbo zinapitishwa kupitia JSON.parse kutoa vitu vya kichwa na payload. Madai yaliyosajiliwa exp, iat, na nbf yanatolewa kama alama za wakati za Unix na kubadilishwa kuwa vitu vya Date; hali ya kuisha muda inakaguliwa upya kila sekunde 20 kupitia setInterval ili token inayoisha muda huku kichupo kiko wazi ibadilike kutoka halali kuwa imeisha muda kiotomatiki. Alama za wakati za jamaa ('katika siku 3', 'saa 2 zilizopita') zinapangwa na Intl.RelativeTimeFormat kwa kutumia eneo la kivinjari chako.
  3. 3
    Onyesho la sahihi na uthibitishaji wa hiari
    Mfuatano ghafi wa sahihi ya Base64URL unaonyeshwa pamoja na kichwa na payload. Ukitoa ufunguo, kifaa kinaita crypto.subtle.importKey na crypto.subtle.verify kukagua sahihi ndani ya kivinjari. Kinakubali siri za pamoja za HMAC (HS256/384/512), funguo za umma za RSA zilizosimbwa za PEM (RS256/384/512), na funguo za umma za ECDSA au vitu vya JWK/JWKS (ES256/384/512) β€” vikiamuliwa na uwanja wa alg kwenye kichwa.
  4. 4
    Hakuna maombi ya mtandao
    Kila hatua β€” kuondoa simbo, hesabu za alama ya wakati, na uthibitishaji wa kriptografia β€” inafanyika ndani ya injini ya JavaScript ya kivinjari. Token na nyenzo yoyote ya ufunguo unayoweka kamwe haiondoki kwenye kifaa chako.

JWT mara nyingi hubeba hati za kipindi, utambulisho wa mtumiaji, na wigo wa idhini; kifaa hiki kinaondoa simbo na kwa hiari kuthibitisha vyote kikamilifu kwenye kivinjari chako kwa kutumia atob() na Web Crypto API, kwa hiyo hakuna token wala ufunguo wowote unaotoa unaotumwa popote.

Zana Zinazohusiana

Maswali Yanayoulizwa Mara Kwa Mara