Kisimbuzi cha JWT

Simbua JSON Web Token yoyote kwenye kivinjari: ona header na payload, exp, iat na nbf kama tarehe halisi kwa saa za eneo lako, na kama muda wake umeisha.

Inasimbuliwa kwenye kivinjari chako. Tokeni yako haitumwi kamwe kwa seva yetu.

Muhtasari

Kichwa (header)


                    

Payload (madai)


                    

Tokeni na sahihi

Soma JWT yoyote bila kuituma popote

Bandika JSON Web Token na kisimbuzi kitaigawa katika sehemu tatu: kichwa (algorithimu iliyotumika kuitia sahihi), payload (madai: mtumiaji ni nani, anaweza kufikia nini na tokeni inaisha lini) na sahihi. JSON hupangwa vizuri ili uisome kwa haraka.

Madai ya muda hubadilishwa kuwa tarehe halisi. exp, iat na nbf huonyeshwa kwa saa za eneo lako, kwa UTC na kama “baada ya dakika 20” au “siku 3 zilizopita”, na hali hukuambia papo hapo kama tokeni bado ni halali, muda wake umeisha au bado haijaanza kutumika.

Tokeni mara nyingi hutoa ufikiaji wa akaunti halisi, kwa hiyo kila kitu husimbuliwa kwenye kivinjari chako. Tokeni haipakiwi kamwe kwenye seva yetu, haiandikwi wala haihifadhiwi. Hii ni salama zaidi kuliko kuibandika kwenye chatbot au tovuti inayoituma kwa seva.

Jinsi ya kusimbua JWT

  1. Nakili tokeni kutoka kwenye programu yako, kichwa cha Authorization, kuki au zana za msanidi programu za kivinjari.
  2. Ibandike kwenye kisanduku. Kiambishi Bearer, alama za nukuu, nafasi na mistari mipya huondolewa kiotomatiki.
  3. Soma muhtasari: hali, algorithimu, mtoaji, mhusika, hadhira na nyakati kamili za kutolewa na kuisha.
  4. Tumia vitufe vya kunakili kupeleka JSON iliyopangwa ya kichwa au payload kwenye ripoti ya hitilafu au madokezo yako.

Maana ya madai ya kawaida

  • exp (expiration time): baada ya wakati huu tokeni lazima ikataliwe.
  • iat (issued at): wakati tokeni ilipoundwa.
  • nbf (not before): tokeni haipaswi kukubaliwa kabla ya wakati huu.
  • iss (issuer): aliyeunda tokeni, mara nyingi URL ya seva yako ya kuingia.
  • sub (subject): tokeni inamhusu nani, kwa kawaida kitambulisho cha mtumiaji.
  • aud (audience): programu au API ambayo tokeni imekusudiwa.
  • alg na kid (kwenye kichwa): algorithimu ya sahihi, kama HS256 au RS256, na kitambulisho cha ufunguo uliotia sahihi.

Tarehe za JWT ni thamani za NumericDate: idadi ya sekunde tangu 1 Januari 1970 UTC. Kisimbuzi huzibadilisha kwa ajili yako, kwa hiyo huhitaji kibadilishaji tofauti cha timestamp.

Vidokezo vya kutatua hitilafu

  • Ikiwa API inajibu 401 mara tu baada ya kuingia, kagua exp na nbf kwanza. Saa ya seva iliyo mbele au nyuma kwa dakika chache ni chanzo cha kawaida; maktaba nyingi huruhusu nafasi ndogo.
  • Tarehe ya makumi ya maelfu ya miaka ijayo inamaanisha thamani iliandikwa kwa milisekunde badala ya sekunde. Kisimbuzi kitakuonya hili likitokea.
  • Linganisha aud na iss na kile API yako inatarajia. Tokeni iliyotolewa kwa programu au mazingira mengine (majaribio badala ya mfumo halisi) ni chanzo cha mara kwa mara cha makosa ya “tokeni si halali”.
  • Kichwa chenye alg sawa na none kinamaanisha tokeni haijatiwa sahihi. Usikubali tokeni kama hizo kamwe kwenye mfumo halisi.

Mipaka na mambo ya kujua

  • Kusimbua si kuthibitisha. Mtu yeyote anaweza kuunda tokeni yenye madai yoyote; ni ukaguzi wa sahihi kwa ufunguo sahihi, kwenye seva yako, pekee unaothibitisha kuwa ni halisi. Zana hii haithibitishi sahihi.
  • Payload ya JWT ya kawaida imesimbwa tu, haijafichwa kwa siri. Yeyote mwenye tokeni anaweza kuisoma, kwa hiyo usiweke kamwe nenosiri au siri kwenye madai.
  • Tokeni zilizosimbwa kwa siri (JWE, sehemu tano) haziwezi kusomwa bila ufunguo, kwa hiyo kichwa chake pekee ndicho huonyeshwa.
  • Namba huonyeshwa kama zilivyo kwenye tokeni, kwa hiyo vitambulisho virefu vya namba havizungushwi kamwe.

Maswali yanayoulizwa mara kwa mara

Je, ni salama kubandika tokeni halisi hapa?

Ndiyo. Kusimbua kunafanyika kwa JavaScript kwenye kivinjari chako na tokeni haitumwi kamwe kwa seva yetu. Hata hivyo, chukulia tokeni zinazotumika kama nenosiri: usizishiriki kwenye picha za skrini au gumzo, na ziache ziishe muda.

Je, zana hii inaweza kuniambia kama tokeni ni halali?

Inakuambia kama muda wa tokeni umeisha au bado haijaanza kutumika, kulingana na tarehe zake. Haiwezi kukuambia kama sahihi ni halisi, kwa sababu hilo linahitaji ufunguo wa siri au wa umma ambao seva yako pekee inapaswa kuwa nao.

Kwa nini tokeni yangu inaonyesha muda umeisha wakati nimeipata sasa hivi?

Kagua saa ya seva iliyoitoa na uhakikishe exp iko kwa sekunde, si milisekunde. Ikiwa iat pia iko saa kadhaa nyuma, huenda saa ya seva si sahihi.

Kuna tofauti gani kati ya kisimbuzi cha JWT na cha Base64?

JWT ni sehemu tatu zilizosimbwa kwa Base64URL zilizounganishwa kwa nukta. Kisimbuzi cha Base64 husoma sehemu moja kwa wakati, lakini kisimbuzi cha JWT hukugawia tokeni, hutambua alfabeti salama kwa URL na kijazo kinachokosekana, na hubadilisha tarehe kuwa nyakati zinazosomeka.

Je, inafanya kazi bila mtandao?

Ndiyo. Ukurasa ukishapakia, unaweza kukata intaneti na kuendelea kusimbua tokeni.

Zana zinazohusiana

  • Kisimbuzi Base64: Simbua maandishi ya Base64 kurudi kuwa maandishi yanayosomeka kwa UTF-8, kutoka API, barua pepe au tokeni. Bure, bila kujisajili.
  • Kikagua na Kipanga JSON: Bandika JSON ili kuangalia kama ni sahihi, kupata makosa na kuipanga vizuri kwa ujongezaji unaosomeka. Bure kwa wasanidi, kwenye kivinjari.
  • Kisimbuzi URL: Simbua viungo vyenye %20, %26 na + kurudi kuwa maandishi yanayosomeka. Bora kwa kusoma viungo vya utafutaji na kumbukumbu. Bure.
  • Kisimbaji Base64: Simba maandishi yoyote kuwa Base64 kwa UTF-8 kwa sekunde, kwa API, barua pepe na data URI. Bure, kwenye kivinjari, bila kujisajili.

Zana zinazofanana

Kisimbuzi Base64

Simbua maandishi ya Base64 kurudi kuwa maandishi yanayosomeka kwa UTF-8, kutoka API, barua pepe au tokeni. Bure, bila kujisajili.

Kikagua na Kipanga JSON

Bandika JSON ili kuangalia kama ni sahihi, kupata makosa na kuipanga vizuri kwa ujongezaji unaosomeka. Bure kwa wasanidi, kwenye kivinjari.

Kisimbuzi URL

Simbua viungo vyenye %20, %26 na + kurudi kuwa maandishi yanayosomeka. Bora kwa kusoma viungo vya utafutaji na kumbukumbu. Bure.

Zana maarufu za bure