የJWT ዲኮደር

የJWT ሄደሮችን እና ፔይሎዶችን ወዲያውኑ በብሮውዘርዎ ውስጥ ዲኮድ ያድርጉ።

JWTዎን እዚህ ይለጥፉ
ዝግጁ ነው። ዲኮድ ለማድረግ JWT ይለጥፉ።

ቶከንዎ በብሮውዘርዎ ውስጥ ዲኮድ ይደረጋል። ምንም ነገር ወደ BroBroGo አይጫንም።

በተደጋጋሚ የሚነሱ ጥያቄዎች

የእኔን JWT እዚህ መለጠፍ ደህንነቱ የተጠበቀ ነው?

አዎ። ዲኮዲንግ ሙሉ በሙሉ በብሮውዘርዎ ውስጥ ነው የሚከናወነው — ቶከንዎ መቼም ወደ BroBroGo አይላክም።

ይህ ፊርማውን ያረጋግጣል?

አይደለም። ለማንበብ እንዲመችዎ ሄደሩን (header) እና ፔይሎዱን (payload) ብቻ ዲኮድ ያደርጋል። ፊርማን ለማረጋገጥ የማረጋገጫ ሚስጥር (signing secret) ወይም የህዝብ ቁልፍ (public key) ያስፈልጋል፣ ይህ መሣሪያ ደግሞ ይህንን መቼም አይጠይቅም።

ቶከኔ ጊዜው ማለፉን እንዴት አውቃለሁ?

ዲኮደሩ የ exp ይገባኛል ጥያቄን ያነባል እና ከዲኮድ ከተደረገው ቶከን ጎን የሁኔታ ባጅ — ትክክለኛ፣ ጊዜው ያለፈበት፣ ገና ያልጸና፣ ወይም የማያበቃ — ያሳያል።

የJWT መዋቅር እና የዲኮደር አሠራር

JSON Web Token (JWT) በሁለት ወገኖች መካከል መረጃን በደህንነቱ በተጠበቀ ሁኔታ ለማስተላለፍ የሚያገለግል የታመቀ እና ራሱን የቻለ የቅርጸት ሥርዓት ነው። አንድ JWT በነጥብ (.) የተለዩ ሶስት ክፍሎችን ይይዛል። እነዚህም ሄደር (header)፣ ፔይሎድ (payload) እና ፊርማ (signature) ናቸው።

የJWT ዲኮደር ተጠቃሚው ያስገባውን ቶከን በመመርመር እነዚህን ክፍሎች ለይቶ ያወጣል። መሣሪያው የሚከተሉትን ግብዓቶች እና ደንቦች መሠረት በማድረግ ይሰራል፡

  • ግብዓት (JWT): በነጥብ የተለዩ ሶስት ክፍሎችን የያዘ የቁምፊዎች ሰንሰለት መሆን አለበት።
  • የርዝመት ገደብ: የገባው ቶከን በጣም ረጅም ከሆነ መሣሪያው "እውነተኛ JWT ለመሆን በጣም ረጅም ነው።" የሚል ስህተት ያሳያል።
  • የቅርጸት ማረጋገጫ: የገባው ቶከን ባዶ ከሆነ መሣሪያው "ዝግጁ ነው። ዲኮድ ለማድረግ JWT ይለጥፉ።" በሚል ሁኔታ ውስጥ ይቆያል። የገባው መረጃ በነጥብ የተለዩ ሶስት ክፍሎች ከሌሉት "ትክክለኛ JWT አይደለም — በነጥብ የተለዩ ሶስት ክፍሎች ይጠበቃሉ።" የሚል መልዕክት ይወጣል።
  • የማጽዳት ተግባር: የገባው ቶከን ሲጠፋ ወይም ሲጸዳ ትኩረቱ በቀጥታ ወደ ግብዓት ሳጥኑ ይመለሳል።

የሄደር እና የፔይሎድ ዲኮዲንግ ደንቦች

የJWT የመጀመሪያዎቹ ሁለት ክፍሎች (ሄደር እና ፔይሎድ) በBase64URL ኢንኮዲንግ የተቀየሩ የJSON መረጃዎች ናቸው። ይህ መሣሪያ እነዚህን ክፍሎች ወደ መደበኛ የJSON ቅርጸት ዲኮድ ያደርጋል። በዚህ ሂደት ውስጥ የሚከተሉት የስህተት ሁኔታዎች ሊያጋጥሙ ይችላሉ፡

  1. የBase64URL ስህተቶች:
    • የሄደሩ ክፍል የተሳሳተ Base64URL ከሆነ "ሄደሩን ዲኮድ ማድረግ አልተቻለም — የተሳሳተ Base64URL።" የሚል ስህተት ይታያል።
    • የፔይሎዱ ክፍል የተሳሳተ Base64URL ከሆነ "ፔይሎዱን ዲኮድ ማድረግ አልተቻለም — የተሳሳተ Base64URL።" የሚል ስህተት ይወጣል።
  2. የJSON ቅርጸት ስህተቶች:
    • ዲኮድ የተደረገው ሄደር ትክክለኛ JSON ካልሆነ "ሄደሩ ትክክለኛ JSON አይደለም።" የሚል መልዕክት ይታያል
    • ዲኮድ የተደረገው ፔይሎድ ትክክለኛ JSON ካልሆነ "ፔይሎዱ ትክክለኛ JSON አይደለም።" የሚል መልዕክት ይወጣል።

ማንኛውም የተሳሳተ ቶከን ሲገባ ዲኮድ የተደረጉትን መረጃዎች የሚያሳዩት ክፍሎች እንዳይታዩ ይደበቃሉ።

ከቶከን የሚወጡ መረጃዎች እና የሁኔታ ባጆች

አንድ ቶከን በትክክል ዲኮድ ሲደረግ መሣሪያው "ቶከኑ ዲኮድ ተደርጓል።" የሚል ሁኔታን ያሳያል። ከዚህ ጋር አብሮ የሚከተሉት ዝርዝር መረጃዎች ይወጣሉ፦

  • ሄደር: በJSON ቅርጸት የተዋቀረ የቶከኑ ራስጌ።
  • ፔይሎድ: በJSON ቅርጸት የተዋቀረ የቶከኑ ይዘት።
  • አልጎሪዝም: በቶከኑ ውስጥ ጥቅም ላይ የዋለው አልጎሪዝም።
  • ዓይነት: የቶከኑ ዓይነት።
  • የተሰጠበት ጊዜ: ቶከኑ የተሰጠበትን ሰዓትና ቀን ያሳያል።
  • ያልፋል: ቶከኑ አገልግሎት ላይ የሚውልበት የመጨረሻ ጊዜ።
  • ቁምፊዎች: በግብዓትነት የገባው JWT የያዛቸው የቁምፊዎች ብዛት።

የቶከኑን የአገልግሎት ጊዜ መሠረት በማድረግ ከሚከተሉት የሁኔታ ባጆች አንዱ ይታያል፦

  • ትክክለኛ: ቶከኑ በአገልግሎት ላይ የሚገኝ ሲሆን።
  • ጊዜው አልፏል: የቶከኑ የአገልግሎት ማብቂያ ጊዜ ሲያልፍ።
  • ገና አልጸናም: ቶከኑ አገልግሎት መስጠት የሚጀምርበት ጊዜ ገና ካልደረሰ።
  • አያበቃም: በቶከኑ ውስጥ የ exp (expiration) መረጃ ከሌለ።

ዲኮድ ማድረግ እና ማረጋገጥ ያላቸው ልዩነት

ይህ መሣሪያ የJWT ቶከንን ዲኮድ ብቻ ያደርጋል እንጂ ፊርማውን አያረጋግጥም። ቶከንን ዲኮድ ማድረግ ማለት በBase64URL የተመሰጠረውን መረጃ ወደ ሰው ሊያነበው የሚችል የJSON ቅርጸት መቀየር ማለት ነው። ይህ ሂደት ምንም ዓይነት ሚስጥራዊ ቁልፍ (signing secret) ወይም የህዝብ ቁልፍ (public key) አይጠይቅም።

በሌላ በኩል የJWT ፊርማን ማረጋገጥ ቶከኑ ከተፈጠረ በኋላ መረጃው መለወጥ አለመለወጡን እና ከታማኝ ምንጭ መላኩን ለማረጋገጥ የሚያገለግል የደህንነት ሂደት ነው። ይህ መሣሪያ የፊርማ ማረጋገጫ ስለማያከናውን የማረጋገጫ ሚስጥር ወይም የህዝብ ቁልፍ እንዲያስገቡ አይጠይቅም። ፊርማን አለማረጋገጥ የደህንነት ስጋት ሊያስከትል ስለሚችል፣ በምርት ሥርዓት (production environment) ላይ ቶከኖችን ከመቀበልዎ በፊት ሁልጊዜ ፊርማቸውን ማረጋገጥ ያስፈልጋል።

የግል መረጃ አያያዝ እና አሠራር

የዚህ መሣሪያ አሠራር ሙሉ በሙሉ በብሮውዘርዎ ውስጥ የሚከናወን ነው። የሚያስገቡት ማንኛውም የJWT ቶከን ወደ BroBroGo አገልጋይ አይጫንም ወይም አይላክም። ሁሉም የዲኮዲንግ እና የትንተና ሂደቶች የሚከናወኑት በአካባቢዎ ኮምፒውተር ወይም ስልክ ላይ ባለው የድር ብሮውዘር ውስጥ ብቻ ነው።

ተደጋግሞ የሚጠየቁ ጥያቄዎች

የእኔን JWT እዚህ መለጠፍ ደህንነቱ የተጠበቀ ነው?
አዎ። ዲኮዲንግ ሙሉ በሙሉ በብሮውዘርዎ ውስጥ ነው የሚከናወነው — ቶከንዎ መቼም ወደ BroBroGo አይላክም።

ይህ ፊርማውን ያረጋግጣል?
አይደለም። ለማንበብ እንዲመችዎ ሄደሩን (header) እና ፔይሎዱን (payload) ብቻ ዲኮድ ያደርጋል። ፊርማን ለማረጋገጥ የማረጋገጫ ሚስጥር (signing secret) ወይም የህዝብ ቁልፍ (public key) ያስፈልጋል፣ ይህ መሣሪያ ደግሞ ይህንን መቼም አይጠይቅም።

ቶከኔ ጊዜው ማለፉን እንዴት አውቃለሁ?
ዲኮደሩ የ exp ይገባኛል ጥያቄን ያነባል እና ከዲኮድ ከተደረገው ቶከን ጎን የሁኔታ ባጅ — ትክክለኛ፣ ጊዜው ያለፈበት፣ ገና ያልጸና፣ ወይም የማያበቃ — ያሳያል። ይህ የ exp claimን ብቻ ነው የሚመረምረው — ፊርማውን፣ ሰጪውን ወይም ተቀባዩን አያረጋግጥም።