Sobes.tech
Middle+

Խոսիր ինձ մասին JWT տոքենի մասին՝ այն ինչ մասերից է բաղկացած, որտեղ է ավելի անվտանգ պահել?

sobes.tech AI

Պատասխան AI-ից

JWT (JSON Web Token) երեք մասից բաղկացած է, որոնք բաժանված են կետերով:

  1. Header (հետագիր) — պարունակում է տիպը (սովորաբար "JWT") և ստորագրման ալգորիթմը (օրինակ, HS256):
  2. Payload (բեռնաթափում) — պարունակում է պնդումներ (claims), օրինակ՝ օգտվողի մասին տեղեկություններ, տոմսի ժամկետը և այլ տվյալներ:
  3. Signature (ստորագրություն) — ստեղծվում է կոդավորված header և payload-ների հեշավորմամբ՝ օգտագործելով գաղտնի բանալին կամ մասնավոր բանալին (անասիմետրիկ կրիպտոգրաֆիայում):

JWT-ի օրինակ:

xxxxx.yyyyy.zzzzz

որտեղ xxxxx — header-ը base64url ձևաչափով, yyyyy — payload-ը base64url ձևաչափով, zzzzz — ստորագրությունը:

Որտեղ ավելի անվտանգ է պահել JWT-ը:

  • HttpOnly cookie — ամենաբարձր անվտանգությունը, քանի որ այդ տեսակի կուկիները JavaScript-ի միջոցով հասանելի չեն, ինչը նվազեցնում է XSS հարձակումների ռիսկը:
  • LocalStorage կամ SessionStorage — հարմար, բայց ենթակա է XSS-ի, քանի որ սցենարները կարող են մուտք գործել տոմսին:

առաջարկվում է JWT պահել HttpOnly cookie-ում, Secure և SameSite նշաններով՝ պաշտպանելու XSS և CSRF հարձակումներից: Բացի այդ, սերվերը պետք է ճիշտ կառավարի կուկիները և ապահովի անվտանգ փոխանցում (HTTPS):