ডেভেলপার

JWT ডিকোডার

যেকোনো JWT পেস্ট করে তাৎক্ষণিকভাবে এর হেডার ও পেলোড ডিকোড করুন — ব্রাউজার থেকে বেরিয়ে না গিয়ে বা কোথাও ডেটা না পাঠিয়েই claims, মেয়াদ উত্তীর্ণের সময় ও স্বাক্ষর পরীক্ষা করুন।

এই ক্যালকুলেটরটি কি আপনাকে সাহায্য করেছে?

JWT ডিকোডার কী?

একটি JWT (JSON Web Token) হলো আধুনিক ওয়েব API-গুলোতে প্রমাণীকরণ ও অনুমোদন ক্লেইম উপস্থাপনের প্রমিত পদ্ধতি। এটি একটি সংক্ষিপ্ত, স্বয়ংসম্পূর্ণ টোকেন যা তিনটি অংশ নিয়ে গঠিত — সাইনিং অ্যালগরিদম বর্ণনাকারী একটি হেডার, প্রকৃত ক্লেইম (যেমন ব্যবহারকারীর আইডি, ভূমিকা এবং মেয়াদ শেষের সময়) বহনকারী একটি পে-লোড এবং একটি সিগনেচার যা প্রাপক সার্ভারকে টোকেনটি পরিবর্তন করা হয়নি তা যাচাই করতে দেয়। এই ডিকোডার হেডার ও পে-লোড তাৎক্ষণিকভাবে পড়ে যাতে আপনি প্রমাণীকরণ সমস্যা ডিবাগ করতে পারেন, কোনো API প্রকৃতপক্ষে কী ক্লেইম পাঠাচ্ছে তা পরীক্ষা করতে পারেন অথবা টোকেনের মেয়াদ কখন শেষ হচ্ছে দেখতে পারেন — সবকিছু আপনার ব্রাউজারে স্থানীয়ভাবে চলে, কোনো ব্যাকএন্ড, কমান্ড-লাইন টুল বা তৃতীয় পক্ষের সার্ভারে সংবেদনশীল টোকেন পেস্ট করার প্রয়োজন হয় না।

এই ক্যালকুলেটর কখন ব্যবহার করবেন

  • একটি API কেন টোকেন প্রত্যাখ্যান করছে তা এর claims এবং মেয়াদ উত্তীর্ণের সময় পরীক্ষা করে ডিবাগ করা
  • সাপোর্ট তদন্ত বা ঘটনা প্রতিক্রিয়ার সময় টোকেনের মেয়াদ উত্তীর্ণের সময় পরীক্ষা করা
  • যাচাই করা যে একটি SSO বা OAuth প্রদানকারী আপনার অ্যাপ্লিকেশন যে ক্লেইমগুলো প্রত্যাশা করে সেগুলোই ইস্যু করছে।
  • ইন্টারভিউ প্রস্তুতি বা নিরাপত্তা কোর্সওয়ার্কের জন্য JWT কীভাবে গঠিত হয় তা শেখা
  • ব্রাউজার ডেভ টুলস বা সার্ভার লগ থেকে ধরা একটি টোকেনের বিষয়বস্তু বুঝতে পরীক্ষা করা
  • অ্যালগরিদম-অমিল সনাক্তকরণ ব্যর্থতা ডিবাগ করতে টোকেনগুলোর মধ্যে হেডার অ্যালগরিদম তুলনা করা

ধাপসমূহ:

  1. আপনার JWT ইনপুট বাক্সে পেস্ট করুন, অথবা একটি চেষ্টা করতে "নমুনা লোড করুন"-এ ক্লিক করুন।
  2. আপনি টাইপ করার সাথে সাথে হেডার ও পেলোড স্বয়ংক্রিয়ভাবে ডিকোড হয়ে যায়।
  3. সহজবোধ্য আকারে iss, sub, exp এবং iat-এর মতো claims পর্যালোচনা করুন।
  4. টাইমস্ট্যাম্প claims (exp, iat, nbf) স্বয়ংক্রিয়ভাবে পাঠযোগ্য তারিখে রূপান্তরিত হয়।

সূত্র

JWT = base64Url(header) + "." + base64Url(payload) + "." + base64Url(signature) ডিকোডিং: "." দিয়ে বিভক্ত করুন, প্রথম দুটি অংশ base64Url-ডিকোড করুন, JSON হিসেবে পার্স করুন। যাচাইকরণ (এখানে করা হয় না): HMACSHA256(base64Url(header) + "." + base64Url(payload), secret) === signature

ব্যবহারের ক্ষেত্র

  • একটি API কেন টোকেন প্রত্যাখ্যান করছে তা এর claims পরীক্ষা করে ডিবাগ করা
  • সাপোর্ট তদন্তের সময় টোকেনের মেয়াদ উত্তীর্ণের সময় পরীক্ষা করা
  • SSO বা OAuth প্রদানকারী আপনার প্রত্যাশিত claims ইস্যু করছে কিনা তা যাচাই করা
  • ইন্টারভিউ প্রস্তুতি বা কোর্সওয়ার্কের জন্য JWT কীভাবে গঠিত হয় তা শেখা
  • ব্রাউজার ডেভ টুলস বা সার্ভার লগ থেকে পেস্ট করা টোকেন দ্রুত পরীক্ষা করা

প্রধান সুবিধাসমূহ

  • কোনো ব্যাকএন্ড বা কমান্ড-লাইন টুল ছাড়াই তাৎক্ষণিকভাবে যেকোনো JWT ডিকোড করুন
  • সবকিছু ক্লায়েন্ট-সাইডে চলে — টোকেন কখনো সার্ভারে পাঠানো হয় না
  • টাইমস্ট্যাম্প claims স্বয়ংক্রিয়ভাবে পাঠযোগ্য তারিখে রূপান্তরিত হয়
  • বিনামূল্যে, সাইন-আপের প্রয়োজন নেই, যেকোনো অ্যালগরিদমের JWT-তে কাজ করে

প্রো টিপস

  • "unauthorized" ত্রুটি ডিবাগ করার সময় প্রথমে সবসময় 'exp' পরীক্ষা করুন — মেয়াদ উত্তীর্ণ টোকেন সবচেয়ে সাধারণ কারণ
  • অ্যালগরিদম-অমিল বাগ ধরতে হেডারের 'alg' আপনার ব্যাকএন্ড কী প্রত্যাশা করে তার সাথে ক্রস-রেফারেন্স করুন
  • সার্ভার-সাইডে স্বাক্ষর যাচাই না করে ডিকোড করা পেলোডকে কখনো পরিচয়ের প্রমাণ হিসেবে বিশ্বাস করবেন না
  • একটি টোকেন ফাঁস হলে ঝুঁকি সীমিত করতে দীর্ঘমেয়াদী JWT-এর পরিবর্তে রিফ্রেশ টোকেনসহ স্বল্পমেয়াদী টোকেন ব্যবহার করুন

এড়ানোর সাধারণ ভুলসমূহ

  • একটি ডিকোড করা JWT-কে যাচাইকৃত JWT বলে ধরে নেওয়া — ডিকোডিং শুধু বিষয়বস্তু পড়ে, সত্যতা নিশ্চিত করে না
  • পেলোডে সংবেদনশীল ডেটা (পাসওয়ার্ড, সিক্রেট) সংরক্ষণ করা, ভুলে যাওয়া যে এটি যে কেউ পড়তে পারে
  • অবিশ্বস্ত অনলাইন ডিকোডারে প্রোডাকশন টোকেন পেস্ট করা
  • টোকেনের মেয়াদ সংক্রান্ত সমস্যা ডিবাগ করার সময় 'exp' (মেয়াদ উত্তীর্ণ) এবং 'iat' (ইস্যুর সময়) গুলিয়ে ফেলা

মূল শব্দ ব্যাখ্যা

Claim: একটি সাবজেক্ট সম্পর্কে দাবি করা তথ্যের একটি অংশ, যেমন একটি ইউজার আইডি বা রোল
হেডার (Header): প্রথম JWT সেগমেন্ট, যা স্বাক্ষর অ্যালগরিদম ও টোকেনের ধরন নির্দিষ্ট করে
পেলোড (Payload): দ্বিতীয় JWT সেগমেন্ট, যাতে প্রকৃত claims থাকে
স্বাক্ষর (Signature): তৃতীয় JWT সেগমেন্ট, যা টোকেন পরিবর্তিত হয়নি তা যাচাই করতে ব্যবহৃত হয়

সম্পর্কিত ধারণা

উদাহরণ

eyJhbGciOiJIUzI1NiJ9 দিয়ে শুরু হওয়া একটি টোকেন ডিকোড হয়ে {"alg":"HS256","typ":"JWT"} হেডার তৈরি করে — যা বোঝায় টোকেনটি HMAC-SHA256 দিয়ে স্বাক্ষরিত।

আপনার ফলাফলের ব্যাখ্যা

ডিকোডারটি JWT-কে দুটি ডট বিভাজকে বিভক্ত করে এবং প্রথম দুটি অংশ Base64URL-এ ডিকোড করে। হেডার আপনাকে সাইনিং অ্যালগরিদম (যেমন HS256 বা RS256) এবং টোকেনের ধরন জানায়। পেলোডে প্রকৃত ক্লেইম থাকে — ব্যবহারকারীর পরিচয়, অনুমতি এবং টাইমস্ট্যাম্প। টাইমস্ট্যাম্প ক্লেইম (exp, iat, nbf) স্বয়ংক্রিয়ভাবে ইউনিক্স এপোক থেকে পাঠযোগ্য তারিখে রূপান্তরিত হয়। যদি 'exp' অতীতের তারিখ দেখায়, তবে টোকেনটি মেয়াদোত্তীর্ণ এবং বেশিরভাগ সার্ভার এটি প্রত্যাখ্যান করবে। 'sub' (বিষয়) ক্লেইমে সাধারণত ব্যবহারকারীর আইডি থাকে এবং 'iss' (ইস্যুয়ার) টোকেনটি তৈরি করা সার্ভারটি চিহ্নিত করে। মনে রাখবেন ডিকোডিং যাচাইকরণ নয়। স্বাক্ষর বিভাগটি প্রদর্শিত হয় তবে গোপন বা পাবলিক কী ছাড়া এটি যাচাই করা যায় না। ডিকোড করা পেলোড শুধুমাত্র তথ্যের জন্য — সার্ভার-পার্শ্বে স্বাক্ষর যাচাই ছাড়া এটি কখনও পরিচয়ের প্রমাণ হিসেবে বিশ্বাস করবেন না।

সচরাচর জিজ্ঞাসিত প্রশ্ন

JWT কী?
একটি JSON Web Token (JWT) হলো দুই পক্ষের মধ্যে ক্লেইম উপস্থাপনের একটি সংক্ষিপ্ত, URL-নিরাপদ পদ্ধতি। এটি ডট দ্বারা পৃথক করা তিনটি Base64URL-এনকোডেড অংশ নিয়ে গঠিত: একটি হেডার, একটি পে-লোড এবং একটি সিগনেচার।
এই টুলে আমার JWT পেস্ট করা কি নিরাপদ?
ডিকোডিং সম্পূর্ণভাবে আপনার ব্রাউজারে জাভাস্ক্রিপ্ট ব্যবহার করে ঘটে — টোকেনটি কখনো কোনো সার্ভারে পাঠানো হয় না। তবে, JWT-কে পাসওয়ার্ডের মতোই গণ্য করুন: প্রোডাকশন সিস্টেমের টোকেন এই টুল সহ যেকোনো অনলাইন টুলে পেস্ট করা এড়িয়ে চলুন।
এই টুল কেন স্বাক্ষর যাচাই করতে পারে না?
JWT-এর স্বাক্ষর যাচাই করতে গোপন কী (HMAC অ্যালগরিদমের জন্য) বা পাবলিক কী (RSA/ECDSA অ্যালগরিদমের জন্য) প্রয়োজন, যা কেবল ইস্যুকারী সার্ভারের কাছেই থাকা উচিত। এই টুল শুধু পাঠযোগ্য হেডার ও পেলোড ডিকোড করে — এটি কখনো সেই কী অ্যাক্সেস করে না।
'exp' claim-এর অর্থ কী?
'exp' (মেয়াদ উত্তীর্ণের সময়) একটি Unix টাইমস্ট্যাম্প, যা নির্দেশ করে টোকেনটি কখন বৈধতা হারায়। এই টুল স্বয়ংক্রিয়ভাবে এটিকে পাঠযোগ্য তারিখে রূপান্তর করে যাতে আপনি দ্রুত পরীক্ষা করতে পারেন টোকেনের মেয়াদ শেষ হয়েছে কিনা।
JWT কী?
JSON Web Token (JWT) হলো দুই পক্ষের মধ্যে দাবি প্রকাশের একটি সংক্ষিপ্ত, URL-নিরাপদ পদ্ধতি। এটি তিনটি ডট দ্বারা পৃথকীকৃত Base64URL-এনকোডেড অংশ নিয়ে গঠিত: একটি হেডার, একটি পেলোড, এবং একটি সিগনেচার।
এই টুলে আমার JWT পেস্ট করা কি নিরাপদ?
সাধারণ অ্যালগরিদমগুলির মধ্যে রয়েছে HS256 (HMAC-SHA256, সিমেট্রিক), RS256 (RSA-SHA256, অ্যাসিমেট্রিক) এবং ES256 (ECDSA)। হেডারে থাকা 'alg' ফিল্ডটি অ্যালগরিদম নির্ধারণ করে। ওয়েব API-গুলির জন্য সবচেয়ে সাধারণ হল HS256 বা RS256।
এই টুল কেন স্বাক্ষর যাচাই করতে পারে না?
'iat' (Issued At) হল টোকেনটি তৈরি হওয়ার সময়। 'nbf' (Not Before) হল টোকেনটি বৈধ হওয়ার সময়। যদি 'nbf' ভবিষ্যতে থাকে, তাহলে টোকেনটি প্রত্যাখ্যান করা উচিত, এমনকি এর মেয়াদ শেষ না হলেও।
'exp' claim-এর অর্থ কী?
হেডার এবং পেলোড শুধুমাত্র Base64URL এনকোড করা, এনক্রিপ্ট করা নয়। যে কেউ সেগুলি পড়তে পারে। JWT পেলোডে কখনও পাসওয়ার্ড, সিক্রেট বা সংবেদনশীল ব্যক্তিগত তথ্য সংরক্ষণ করবেন না। শুধুমাত্র অ-সংবেদনশীল ক্লেইম যেমন ইউজার আইডি, ভূমিকা এবং টাইমস্ট্যাম্প রাখুন।
কোন অ্যালগরিদম JWT ব্যবহার করতে পারে?
অ্যাক্সেস টোকেন সাধারণত ১৫–৬০ মিনিট স্থায়ী হয়। রিফ্রেশ টোকেন কয়েক ঘণ্টা থেকে কয়েক দিন স্থায়ী হয়। স্বল্পস্থায়ী অ্যাক্সেস টোকেন এবং দীর্ঘস্থায়ী রিফ্রেশ টোকেন নিরাপত্তা এবং ব্যবহারকারীর অভিজ্ঞতার মধ্যে ভারসাম্য রাখে।
ডিকোড করা ক্লেইমগুলো কীভাবে কপি করব?
রিফ্রেশ টোকেন হল একটি দীর্ঘস্থায়ী টোকেন যা ব্যবহারকারীকে পুনরায় প্রমাণীকরণের প্রয়োজন ছাড়াই নতুন অ্যাক্সেস টোকেন পেতে ব্যবহৃত হয়। যখন স্বল্পস্থায়ী অ্যাক্সেস টোকেনের মেয়াদ শেষ হয়, ক্লায়েন্ট একটি নতুন অ্যাক্সেস টোকেন পেতে রিফ্রেশ টোকেন পাঠায়।
ডিকোড করা ক্লেইমগুলো কীভাবে কপি করব?
ডিকোড করা হেডার এবং পেলোড ফরম্যাট করা JSON আকারে প্রদর্শিত হয়। ডিবাগিং বা ডকুমেন্টেশনের উদ্দেশ্যে আপনি সম্পূর্ণ ডিকোড করা আউটপুট বা পৃথক ক্লেইম মান কপি করতে পারেন।

আরও টুল আবিষ্কার করুন

আমাদের পুরো টুল লাইব্রেরি থেকে নতুন নির্বাচন।