← ফিচারে ফিরে যান
Free

JWT ডিবাগার

JWT ডিবাগার JSON Web Token ডিকোড ও ইন্সপেক্ট করে — header, payload ও signature পার্স করে, claims প্রদর্শন করে এবং expiry স্ট্যাটাস ফ্ল্যাগ করে। আলাদা ডিকোডার চালানো বা jwt.io-তে না গিয়ে অথেন্টিকেশন সমস্যা ডিবাগ করা, OAuth/OIDC টোকেন ইন্সপেক্ট করা এবং JWT কন্টেন্ট যাচাই করার জন্য নিখুঁত।

JWT (JSON Web Token) হলো আধুনিক API জুড়ে অথ টোকেনের জন্য প্রধান ফরম্যাট — OAuth, OIDC, সেশন টোকেন, এবং কাস্টম API অথ। কিন্তু একটি JWT দেখতে অর্থহীন মনে হয়: বিন্দু দিয়ে জোড়া লাগানো তিনটি Base64URL-এনকোড করা স্ট্রিং। JWT Debugger সেই স্ট্রিংটিকে তার তিনটি অংশে পার্স করে — header, payload, এবং signature — প্রতিটি ডিকোড করে এবং JSON কনটেন্ট সিনট্যাক্স হাইলাইটিংসহ প্রদর্শন করে।

পেলোডটি পরিচিত claim-গুলোর জন্য পার্স করা হয়: iss (issuer), sub (subject), exp (expiry), iat (issued at), nbf (not before), aud (audience), jti (token ID)। Expiry Unix টাইমস্ট্যাম্প থেকে মানুষের পড়ার উপযোগী ফরম্যাটে রূপান্তর করা হয় এবং valid, expired, বা not yet valid হিসেবে ফ্ল্যাগ করা হয়। টুলটি signature ভেরিফাই করে না — তার জন্য secret key প্রয়োজন এবং তা একটি ক্লায়েন্ট-সাইড টুলের সুযোগের বাইরে — কিন্তু এটি ঠিক দেখায় একটি টোকেনে কী আছে, যাতে আপনি দ্রুত অথ সমস্যার সমাধান করতে পারেন।

হেডারের algorithm ফিল্ড (alg) স্পষ্টভাবে হাইলাইট করা হয়, যার মধ্যে একটি টোকেন যদি "none" অ্যালগরিদম ব্যবহার করে তার সতর্কতাও থাকে — এটি একটি সুপরিচিত JWT দুর্বলতা, যেখানে সার্ভার যদি স্বাক্ষরবিহীন টোকেন প্রত্যাখ্যান না করে তাহলে signature ভেরিফিকেশন সম্পূর্ণভাবে এড়িয়ে যাওয়া সম্ভব। HMAC-ভিত্তিক অ্যালগরিদম (HS256, HS384, HS512) এবং RSA/ECDSA-ভিত্তিক অ্যালগরিদম (RS256, ES256) উভয়ই শনাক্ত ও লেবেল করা হয়, ফলে আপনি সঙ্গে সঙ্গে জানতে পারেন কোনো API shared-secret নাকি public-key সাইনিং স্কিম ব্যবহার করছে। কাস্টম, নন-স্ট্যান্ডার্ড claim-গুলোও সম্পূর্ণভাবে দেখানো হয়, কারণ বাস্তব-জগতের বেশিরভাগ টোকেনে role বা tenant ID-এর মতো অ্যাপ্লিকেশন-নির্দিষ্ট ডেটা থাকে।

লাইভ প্রিভিউ
example.com
JWT ডিবাগার ✓ Valid · exp: 2h left
Token
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0IiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNzQzNDQ4MDAwfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
Header
{
  "alg": "HS256",
  "typ": "JWT"
}
Payload
{
  "sub": "1234",
  "name": "John Doe",
  "iat": 1743448000
}
alg: HS256 sub: 1234 issued: 2h ago
মূল বৈশিষ্ট্য

তিন-অংশের ডিকোডিং

JWT-কে ডট দিয়ে বিভক্ত করে এবং প্রতিটি সেগমেন্ট Base64URL-ডিকোড করে: header, payload এবং signature। প্রতিটি সিনট্যাক্স হাইলাইটিং সহ আলাদাভাবে দেখানো হয়।

Header ইন্সপেকশন

অ্যালগরিদম (HS256, RS256, ES256) এবং টোকেন টাইপ প্রদর্শন করে। কোনো সার্ভিস কোন সাইনিং স্কিম ব্যবহার করছে তা দ্রুত যাচাই করুন।

Payload Claims প্রদর্শন

JSON payload পার্স করে রঙ-কোডেড keys, strings, numbers ও booleans সহ রেন্ডার করে। এক নজরেই সব claims দেখা যায়।

Expiry যাচাইকরণ

exp (expiry), iat (issued at), এবং nbf (not before) টাইমস্ট্যাম্প চেক করে। টোকেনটি valid, expired, নাকি not yet active তা মানুষের পড়ার উপযোগী সময় সহ ফ্ল্যাগ করে।

স্ট্যান্ডার্ড Claim শনাক্তকরণ

নিবন্ধিত claims (iss, sub, aud, exp, iat, nbf, jti) শনাক্ত করে এবং তাদের অর্থ সম্পর্কে দ্রুত-রেফারেন্স নোট দেয়।

রঙিন টোকেন প্রিভিউ

কাঁচা টোকেনটি প্রতিটি সেগমেন্টের জন্য আলাদা রঙে দেখানো হয়, যাতে আপনি header, payload ও signature ভিজ্যুয়ালি আলাদা করতে পারেন।

সাধারণ ব্যবহারের ক্ষেত্র

Auth 401 ডিবাগ করা

যখন একটি API 401 Unauthorized রিটার্ন করে, টোকেনটি এক্সপায়ার্ড, ত্রুটিপূর্ণ, নাকি ভুল issuer থেকে ইস্যু করা হয়েছে কিনা চেক করতে পেস্ট করুন।

OAuth টোকেন ইন্সপেকশন

OAuth/OIDC ফ্লো থেকে ফেরত পাওয়া access token ও ID token ডিকোড করে অনুমোদিত scope, ইউজার আইডেন্টিটি ও expiry দেখুন।

Claims প্রয়োজনীয়তার সাথে মিলছে কিনা যাচাই করা

ব্যাকএন্ড টোকেনটি গ্রহণ করবে ধরে নেওয়ার আগে নিশ্চিত করুন প্রয়োজনীয় claims (roles, permissions, tenant ID) টোকেনে উপস্থিত আছে।

টোকেন কন্টেন্ট ক্রস-চেক করা

যখন একটি ব্যাকএন্ড সার্ভিস দ্বারা টোকেন তৈরি হয়, payload সার্ভিসের ইচ্ছার সাথে মিলছে কিনা যাচাই করতে ডিকোড করুন।

সিকিউরিটি অডিট

সিকিউরিটি রিভিউয়ের সময়, localStorage বা কুকিতে সংরক্ষিত টোকেন ডিকোড করে ক্লায়েন্ট-সাইডে কোন সংবেদনশীল ডেটা উন্মুক্ত হচ্ছে তা মূল্যায়ন করুন।

কিভাবে ব্যবহার করবেন
1

JWT ডিবাগার খুলুন

DevSuite Pro ডকে JWT আইকনে ক্লিক করুন। একটি টোকেন ইনপুট ফিল্ড এবং তিনটি ডিকোড করা প্যান সহ একটি প্যানেল খুলবে।

2

আপনার টোকেন পেস্ট করুন

যেকোনো JWT পেস্ট করুন — একটি API রেসপন্স, Authorization header, কুকি, বা localStorage থেকে। "Bearer " প্রিফিক্স সহ বা ছাড়া উভয়ই কাজ করে।

3

Header পর্যালোচনা করুন

Header প্যানে অ্যালগরিদম ও টাইপ দেখা যায়। নিশ্চিত করুন এটি আপনার ব্যাকএন্ডের প্রত্যাশিত স্কিম ব্যবহার করছে (প্রায়ই HS256 বা RS256)।

4

Payload পরীক্ষা করুন

Payload প্যানে সিনট্যাক্স হাইলাইটিং সহ সব claims দেখা যায়। স্ট্যান্ডার্ড claims (iss, sub, exp) তাদের উদ্দেশ্য সহ ফ্ল্যাগ করা থাকে।

5

Expiry যাচাই করুন

স্ট্যাটাস ব্যাজে Valid, Expired, বা Not Yet Valid দেখা যায়। যদি Expired হয়, তাহলে সম্ভবত এই কারণেই আপনার অথ ব্যর্থ হচ্ছে।

চেষ্টা করতে প্রস্তুত?

বিনামূল্যে DevSuite Pro ইনস্টল করুন এবং আপনার ব্রাউজারের জন্য ৬৪+ ডেভলপার টুল আনলক করুন।

Chrome-এ যোগ করুন Edge এ যোগ করুন FireFox-এ যোগ করুন