RevealTheme logo

JWT ডিকোডার

তাৎক্ষণিকভাবে JSON Web Token (JWT) ডিকোড করুন। এটি আপনার ব্রাউজারে চলে: টোকেন কখনো আপনার ডিভাইস ছেড়ে যায় না, তাই প্রোডাকশন সিক্রেটের সঙ্গে ব্যবহার করা নিরাপদ।

এই টুলটি কীভাবে ব্যবহার করবেন

  1. 1

    আপনার JWT ইনপুট ফিল্ডে পেস্ট করুন।

  2. 2

    «ডিকোড»-এ ক্লিক করুন। header ও payload পার্স হয়ে প্রদর্শিত হয়।

  3. 3

    অ্যালগরিদম, claims, মেয়াদ ও ইস্যুকারী পরিদর্শন করুন।

JWT কী এবং এটি কীভাবে কাজ করে?

একটি JSON Web Token (JWT, RFC 7519-এ সংজ্ঞায়িত) হল একজন ব্যবহারকারী সম্পর্কে একগুচ্ছ claim উপস্থাপনের একটি সংহত ও URL-নিরাপদ উপায়, এই ক্রিপ্টোগ্রাফিক প্রমাণ সহ যে সেই claim-গুলির সঙ্গে কারচুপি করা হয়নি। JWT বেশিরভাগ আধুনিক ওয়েব স্ট্যাকে অথেন্টিকেশন চালায়: আপনি যখন লগ ইন করেন, সার্ভার আপনার ব্যবহারকারী ID ও অনুমতি ধারণকারী একটি JWT তৈরি করে, একটি গোপন কী দিয়ে স্বাক্ষর করে এবং আপনাকে ফেরত দেয়। আপনার ব্রাউজার টোকেনটি সংরক্ষণ করে (সাধারণত localStorage বা একটি cookie-তে) এবং পরবর্তী প্রতিটি অনুরোধের Authorization header-এ এটি অন্তর্ভুক্ত করে। সার্ভার প্রতিটি অনুরোধে স্বাক্ষর যাচাই করে: এটি বৈধ হলে, টোকেনের claim বিশ্বাস করা হয়; এর সঙ্গে কারচুপি করা হলে, স্বাক্ষর ভেঙে যায় এবং অনুরোধটি প্রত্যাখ্যাত হয়। JWT-এর তিনটি অংশ থাকে যা Base64URL-এ এনকোড করা ও বিন্দু দিয়ে আলাদা করা: header স্বাক্ষর অ্যালগরিদম ঘোষণা করে (HMAC-SHA256-এর জন্য HS256, RSA-এর জন্য RS256, ECDSA-এর জন্য ES256, স্বাক্ষরহীন টোকেনের জন্য none, যা বিপজ্জনক এবং আপনার এগুলি প্রত্যাখ্যান করা উচিত); payload প্রকৃত claim ধারণ করে (স্ট্যান্ডার্ড claim যেমন subject-এর জন্য 'sub', মেয়াদের জন্য 'exp', ইস্যুর তারিখের জন্য 'iat', পাশাপাশি আপনার অ্যাপ্লিকেশন সংজ্ঞায়িত যেকোনো কাস্টম claim); স্বাক্ষর হল এই প্রমাণ যে header ও payload সিক্রেটের অধিকারী কেউ স্বাক্ষর করেছে। এই ডিকোডারটি প্রথম দুটি অংশ প্রকাশ করে, যা পাবলিক তথ্য; স্বাক্ষর কেবল কী দিয়ে যাচাই করা যায়, এই কারণেই প্রতিটি JWT ডিকোডার যাচাই ছাড়াই claim দেখায়।

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

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

  • ডাউনস্ট্রিম সার্ভিসের জন্য claims কাঠামো বুঝতে API গেটওয়ে JWT (AWS Cognito, Auth0, Okta) পরিদর্শন করুন।

  • যাচাই করুন কাস্টম claims (সংস্থার ID, ভূমিকা, ফিচার ফ্ল্যাগ) টোকেন-ইস্যুয়িং কোডে সঠিকভাবে সেট হচ্ছে কিনা।

  • রিফ্রেশের আগে ও পরের টোকেন তুলনা করে নিশ্চিত করুন মেয়াদ বাড়ানো হয়েছে।

  • টোকেনের অ্যালগরিদম অডিট করুন — নিশ্চিত করুন প্রোডাকশনে RS256 বা ES256 ব্যবহৃত হচ্ছে, কখনোই 'none' নয়।

  • সার্ভার লগের base64url payload মানব-পাঠযোগ্য claims-এ রূপান্তর করুন।

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

প্রোডাকশন JWT-এর সঙ্গে এটি ব্যবহার করা কি নিরাপদ?
হ্যাঁ। ডিকোডিং সম্পূর্ণরূপে আপনার ব্রাউজারে স্থানীয় JavaScript-এর মাধ্যমে ঘটে: টোকেন কখনো আমাদের সার্ভারে পৌঁছায় না বা কোনো লগে দেখা যায় না। ডিকোড করার সময় DevTools → Network ট্যাব খুলে আপনি এটি যাচাই করতে পারেন: কোনো বহির্গামী অনুরোধ ট্রিগার হয় না। তবুও, JWT-কে ক্রেডেনশিয়াল হিসেবে গণ্য করুন: ডিকোডার যেখানেই চলুক না কেন, URL, স্ক্রিনশট বা শেয়ার করা ডকুমেন্টে এগুলি পেস্ট করবেন না।
এটি কি স্বাক্ষর যাচাই করে?
না। স্বাক্ষর যাচাইয়ের জন্য সিক্রেট (HS256-এর জন্য) বা পাবলিক কী (RS256/ES256/PS256-এর জন্য) প্রয়োজন। যে ওয়েব টুলগুলি একটি JWT যাচাই করতে আপনার সিক্রেট চায় সেগুলি একটি নিরাপত্তা সতর্কসংকেত: আপনি একজন অপরিচিতকে আপনার স্বাক্ষর কী পাঠাচ্ছেন। সার্ভারে অথবা আপনার নিয়ন্ত্রণাধীন একটি লাইব্রেরি (jose, jsonwebtoken) দিয়ে স্বাক্ষর যাচাই করুন।
আমার JWT-এর মেয়াদ শেষ হয়ে গেলে কী হবে?
মেয়াদ শেষ হওয়া ডিকোডিং বাধা দেয় না: 'exp' claim কেবল payload-এর ভেতরের একটি ডেটা। ডিকোড করা payload-এ 'exp' খুঁজুন: এটি একটি Unix টাইমস্ট্যাম্প (১৯৭০ থেকে সেকেন্ড)। আপনার টাইম জোনে মেয়াদ দেখতে আমাদের Timestamp Converter দিয়ে এটি রূপান্তর করুন। 'exp' ইতিমধ্যে পেরিয়ে গেলে, যেকোনো অনুবর্তী যাচাইকারী টোকেনটি প্রত্যাখ্যান করে, যদিও ডিকোডার এটি পড়তে থাকে।
JWT কি এনক্রিপ্ট করা যায়?
হ্যাঁ: একে JWE (JSON Web Encryption, RFC 7516) বলা হয়। এই টুলটি JWS (JSON Web Signature, সাধারণ ক্ষেত্র) সামলায়, যেখানে payload স্বাক্ষরিত কিন্তু দৃশ্যমান। JWE টোকেনের ৩-এর পরিবর্তে বিন্দু দিয়ে আলাদা করা ৫টি অংশ থাকে এবং ডিক্রিপ্ট করতে প্রাপকের প্রাইভেট কী প্রয়োজন। আপনার টোকেনে ৫টি অংশ থাকলে, আপনার একটি JWE-সমর্থিত টুল প্রয়োজন।
'alg': 'none' মানে কী এবং এটি কি বিপজ্জনক?
'none' মানে কোনো স্বাক্ষর নেই: টোকেনটি স্বাক্ষরহীন এবং যে কেউ যেকোনো claim জাল করতে পারে। প্রোডাকশন সিস্টেমের অবশ্যই স্পষ্টভাবে 'alg: none' সহ টোকেন প্রত্যাখ্যান করা উচিত। কিছু লাইব্রেরি ডিফল্টভাবে এগুলি গ্রহণ করে (একটি সুপরিচিত CVE শ্রেণি)। সবসময় কেবল আপনার অ্যাপ্লিকেশন যে অ্যালগরিদম প্রত্যাশা করে সেগুলিই অনুমোদন করুন।
সেশন cookie-র পরিবর্তে কেন JWT ব্যবহার করব?
JWT স্টেটলেস: সার্ভারকে একটি সেশন অনুসন্ধান করতে হয় না; টোকেন নিজেই ব্যবহারকারীর পরিচয় ও অনুমতি ধারণ করে। এটি JWT-কে বিতরণকৃত সিস্টেম ও API-এর জন্য আদর্শ করে তোলে। সেশন cookie স্টেটফুল (সার্ভারে সেশন স্টোরেজ প্রয়োজন) কিন্তু বাতিল করা সহজ (শুধু সেশন মুছে ফেলুন)। সমঝোতা: JWT ভালোভাবে স্কেল করে, কিন্তু টোকেনের মেয়াদ শেষ না হওয়া পর্যন্ত আপনি 'একজন ব্যবহারকারীকে লগ আউট' করতে পারবেন না।
একটি JWT-এর স্ট্যান্ডার্ড claim কী কী?
RFC 7519 সংজ্ঞায়িত করে: iss (issuer), sub (subject, সাধারণত ব্যবহারকারী ID), aud (audience), exp (মেয়াদ শেষের সময়), nbf (not before), iat (issued at), jti (JWT ID)। এগুলির বাইরে, অ্যাপ্লিকেশন 'roles', 'permissions' বা 'tenant_id'-এর মতো কাস্টম claim যোগ করে। কাস্টম claim ছোট রাখুন: JWT প্রতিটি অনুরোধের header-এ ভ্রমণ করে এবং আপনার ব্যান্ডউইথ খরচ বাড়ায়।

সম্পর্কিত টুল

JSON ফরম্যাটার ও ভ্যালিডেটর

অনলাইনে JSON ফরম্যাট, ভ্যালিডেট ও মিনিফাই করুন। এটি সম্পূর্ণরূপে আপনার ব্রাউজারে চলে: আপনার ডেটা কখনো আপনার ডিভাইস ছেড়ে যায় না।

XML ফরম্যাটার

XML ডকুমেন্ট ফরম্যাট ও সুন্দর করে সাজান। SOAP, sitemap, RSS ফিড এবং কনফিগারেশন ফাইলের জন্য উপযোগী।

Base64 এনকোডার ও ডিকোডার

স্ট্রিংকে Base64-এ এনকোড করুন বা Base64-কে টেক্সটে ডিকোড করুন। আপনার গোপনীয়তা রক্ষা করে: এটি আপনার ব্রাউজারে চলে।

URL এনকোডার ও ডিকোডার

টেক্সটকে URL-নিরাপদ এনকোডিং (পার্সেন্ট এনকোডিং)-এ এবং তার বিপরীতে রূপান্তর করুন। কোয়েরি স্ট্রিং, রিডাইরেক্ট এবং OAuth ফ্লো-এর জন্য উপযোগী।

HTML এনটিটি এনকোডার ও ডিকোডার

বিশেষ অক্ষরগুলিকে HTML এনটিটিতে (&, <, ইত্যাদি) এবং তার বিপরীতে রূপান্তর করুন। HTML-এ নিরাপদে টেক্সট এম্বেড করার জন্য উপযোগী।

CSS মিনিফায়ার

ফাইলের সাইজ কমাতে CSS থেকে কমেন্ট, হোয়াইটস্পেস এবং অপ্রয়োজনীয় অক্ষর সরিয়ে দিন।

আপডেটের জন্য সাবস্ক্রাইব করুন

আমরা আপনার ইমেল বিক্রি করি না। আমরা স্প্যাম করি না।

© 2026 RevealTheme. All rights reserved.