Kyauta Mai Bayyana JWT
Bayyana kuma duba kowane JSON Web Token. Duba header, payload, ƙarewa, da da'awoin da aka saba. Komai yana faruwa a gida a cikin browser ɗinka — tokens ba sa barin na'urarka.
🔒 Ana bayyana token ɗin gaba ɗaya a burauzarku. Ba a aika komai zuwa wani sabar.
Yadda Yake Aiki
Mai fassara wani mai nazari ne da aka rubuta da hannu, babu dogaro, wanda yake gudana gaba ɗaya a burauzarka: yana raba alamar a ɗigogi, yana canja kowace sashi na Base64URL zuwa Base64 sauƙi ta amfani da maye gurbin harafi kuma yana rufe shi zuwa yawan huɗu, sannan yana kiran atob() da JSON.parse na burauza na asali don dawo da abubuwan kanun labarai da payload. Tabbatar da sa hannu na zaɓi yana amfani da Web Crypto API (crypto.subtle.verify) — babu ɗakin karatu, babu uwar garke.
- 1Fassarar Base64URLKayan aikin yana raba JWT a rabuwar ɗigo biyu, yana bayar da sassa uku. Kowace sashi Base64URL ne — wanda yake amfani da - da _ maimakon + da / kuma yana barin padding. Lambar tana canja waɗannan haruffan baya kuma tana rufe da alamomin =, sannan tana kiran atob() da aka gina ta burauza don fassara bytes.
- 2Nazarin JSON da cire ikirariAna ba bytes da aka fassara ga JSON.parse don samar da abubuwan kanun labarai da payload. Ana cire ikirari da aka rijista exp, iat, da nbf a matsayin tambarin lokaci na Unix kuma an canja su zuwa abubuwan Date; ana sake dubawa yanayin ƙarewa kowace daƙiƙa 20 ta setInterval don wata alama wadda take ƙarewa yayin da tab ɗin yake buɗe ya sauya daga inganci zuwa ƙarewa kai tsaye. Ana tsara tambarin lokaci na dangi ('a cikin kwana 3', 'awa 2 da suka wuce') da Intl.RelativeTimeFormat ta amfani da yankin burauzarka.
- 3Nuni na sa hannu da tabbatarwa ta zaɓiAna nuna harafin sa hannu na Base64URL danye kusa da kanun labarai da payload. Idan ka bayar da maɓalli, kayan aikin yana kiran crypto.subtle.importKey da crypto.subtle.verify don duba sa hannun a wurin nan. Yana karɓar HMAC shared secrets (HS256/384/512), maɓallan jama'a na RSA da aka ɓoye na PEM (RS256/384/512), da maɓallan jama'a na ECDSA ko abubuwan JWK/JWKS (ES256/384/512) — an tantance ta filin alg a kanun labarai.
- 4Babu bukatun sadarwaKowane mataki — fassarawa, lissafin tambarin lokaci, da tabbatarwar cryptographic — yana gudana a cikin injin JavaScript na burauza. Alamar da duk wani abu na maɓalli da ka shigar ba su taɓa barin na'urarka ba.
JWTs sau da yawa suna ɗauke da bayanan zaman, ainihin mai amfani, da izinin fadin iko; wannan kayan aikin yana fassara kuma yana tabbatar da su na zaɓi gaba ɗaya a burauzarka ta amfani da atob() da Web Crypto API, don haka ba alama ba kuma babu wani maɓalli da ka bayar da ake aikawa zuwa ko'ina.
Kayan Aiki Masu Alaƙa
Mai rikodin URL & Mai rikodin
Rufewa da warware URLs da igiyoyin tambaya. Yana goyan bayan encodeURIComponent, decodeURIComponent, da tantance kirgin tambaya.
Mai Duba UUID
Bayyana kowane UUID ko ULID — duba nau'insa, variant ɗinsa, da lokacin ƙirƙira da ke ɓoye a cikin v1, v6, v7, da ULIDs. Yana aiki gaba ɗaya a cikin browser ɗinka.
Mai Ɓoyewa & Bayyana Base64
Ɓoye rubutu ko fayiloli zuwa Base64, ko bayyana igiyoyin Base64 zuwa rubutu na yau da kullum. Nan take, na sirri, kuma kyauta.