UltKit
ছবি11
PDF13
ডকুমেন্ট ও ডেটা7
ভিডিও6
অডিও4
আরও টুল22

JWT ডিকোডার

একটি JSON Web Token পেস্ট করুন, আর এর হেডার ও পেলোড সাজানো JSON হিসেবে পড়ুন। মেয়াদ শেষের সময় ও ইস্যুর সময় তারিখ হিসেবে দেখানো হয়, সঙ্গে থাকে টোকেনটি এখন বৈধ কি না তার একটি নোট। ডিকোডিং পুরোপুরি আপনার ব্রাউজারেই হয়। টোকেনটি যদি সক্রিয় লগইন ক্রেডেনশিয়াল হয়, তাহলে এটা গুরুত্বপূর্ণ।

০টি অক্ষর · ০টি শব্দ · ০টি লাইন

০টি অক্ষর · ০টি শব্দ · ০টি লাইন

সম্পূর্ণভাবে এই ব্রাউজার ট্যাবেই চলে। আপনার টেক্সট কখনও আপলোড বা সংরক্ষণ করা হয় না।

নিবন্ধিত ক্লেম

RFC 7519 §4.1-এ সংজ্ঞায়িত সাতটি ক্লেমের নাম। সবই ঐচ্ছিক; সময় ১৯৭০-০১-০১ UTC থেকে সেকেন্ডে।

ক্লেমঅর্থ
issইস্যুকারী: যে টোকেন তৈরি ও সাইন করেছে
subবিষয়: টোকেন যে ব্যবহারকারী বা সত্তা সম্পর্কে
audঅডিয়েন্স: টোকেন যার জন্য উদ্দিষ্ট
expমেয়াদ শেষের সময়: এই মুহূর্তের পর টোকেন প্রত্যাখ্যান করুন
nbfএর আগে নয়: এই মুহূর্তের আগে টোকেন প্রত্যাখ্যান করুন
iatইস্যুর সময়: টোকেন কখন তৈরি হয়েছে
jtiJWT ID: অনন্য শনাক্তকারী, রিপ্লে ঠেকাতে ব্যবহৃত

প্রচলিত alg মান

alg মানঅর্থ
HS256SHA-256 সহ HMAC; একটি শেয়ার্ড সিক্রেট দিয়েই সাইন ও যাচাই হয়
RS256SHA-256 সহ RSA PKCS#1 v1.5 সিগনেচার; প্রাইভেট কী সাইন করে, পাবলিক কী যাচাই করে
PS256SHA-256 সহ RSA-PSS
ES256SHA-256 সহ P-256 কার্ভে ECDSA; ছোট সিগনেচার
EdDSAEd25519 বা Ed448 সিগনেচার
noneসাইন ছাড়া টোকেন; সার্ভারের এটি প্রত্যাখ্যান করা উচিত

একটি JSON Web Token-এর ভেতরে কী থাকে

JWT সংজ্ঞায়িত হয়েছে RFC 7519 (মে 2015)-এ, যেখানে ইংরেজি শব্দ "jot"-এর মতো উচ্চারণ করার কথা বলা হয়েছে। সাধারণ সাইন করা রূপটি হলো ডট দিয়ে জোড়া তিনটি Base64url স্ট্রিং: header.payload.signature। হেডার alg-এ সাইনিং অ্যালগরিদমের নাম জানায়, যেমন HS256 বা RS256, আর প্রায়ই kid-এ একটি কী ID থাকে। পেলোড-এ থাকে ক্লেম, অর্থাৎ JSON ফিল্ড, যেমন sub (ব্যবহারকারী), iss (ইস্যুকারী), aud (উদ্দিষ্ট দর্শক) এবং exp, nbf ও iat, যেগুলো 1 জানুয়ারি 1970 UTC থেকে সেকেন্ডে গোনা সময়। ডিকোডার এই তিনটিকে আপনার স্থানীয় সময় ও ISO 8601-এ রূপান্তর করে এবং জানায় টোকেনের মেয়াদ শেষ হয়েছে, এখনও বৈধ হয়নি, নাকি বৈধ সময়সীমার মধ্যে আছে।

Base64url একটি এনকোডিং, এনক্রিপশন নয়, তাই টোকেন হাতে থাকলে যে কেউ এই পেজের মতোই এর পেলোড পড়তে পারে। ক্লেমে কখনও পাসওয়ার্ড, কার্ড নম্বর বা অন্য গোপন তথ্য রাখবেন না। ডট দিয়ে আলাদা পাঁচ অংশের টোকেন হলো JWE, অর্থাৎ এনক্রিপ্ট করা টোকেন; কী ছাড়া এর বিষয়বস্তু পড়া যায় না, ডিকোডার সেটি জানিয়ে দেয়। Authorization হেডার থেকে কপি করা শুরুর "Bearer " স্বয়ংক্রিয়ভাবে সরিয়ে দেওয়া হয়।

এখানে কেন সিগনেচার যাচাই করা হয় না

সিগনেচার প্রমাণ করে যে হেডার ও পেলোড কী-এর অধিকারী কেউ তৈরি করেছে এবং তারপর বদলানো হয়নি। যাচাই করতে সেই কী লাগে: HS256-এর মতো HMAC অ্যালগরিদমে শেয়ার্ড সিক্রেট, আর RS256, ES256 বা EdDSA-তে ইস্যুকারীর পাবলিক কী। প্রোডাকশনের সাইনিং সিক্রেট কোনো ওয়েব পেজে পেস্ট করা খারাপ ধারণা, আর কী ছাড়া টোকেনের বৈধতা নিশ্চিত করার ভান করলে ভুল আশ্বাস দেওয়া হতো, তাই এই টুল সিগনেচার দেখায় কিন্তু যাচাই করে না। যা দেখছেন তাকে টোকেনের দাবি হিসেবে ধরুন, তথ্য হিসেবে নয়।

যাচাইয়ের কাজ আপনার সার্ভারে হওয়া উচিত, রক্ষণাবেক্ষিত লাইব্রেরি ব্যবহার করে এবং প্রত্যাশিত অ্যালগরিদম নির্দিষ্ট করে। দুটি পুরনো ভুল কারণটা বোঝায়: alg "none" গ্রহণ করা, যাতে যে কেউ সাইনবিহীন টোকেন জাল করতে পারে; এবং অ্যালগরিদম কনফিউশন, যেখানে RS256 প্রত্যাশী সার্ভারকে ঠকিয়ে পাবলিক কী-কে HMAC সিক্রেট ধরে HS256 সিগনেচার যাচাই করানো হয়। ডিকোডার ডিবাগিংয়ের জন্য: প্রোভাইডার কোন ক্লেম দেয় দেখা, ভুল audience ধরা, বা এক মিনিট আগে exp পেরিয়ে যাওয়ায় সেশন ব্যর্থ হয়েছে কি না জানা। Base64url অংশগুলো সরাসরি পড়তে Base64 ডিকোডার ব্যবহার করুন।

সচরাচর জিজ্ঞাসা

JWT ডিকোডারে আসল অ্যাক্সেস টোকেন পেস্ট করা কি নিরাপদ?
এই পেজে টোকেন আপনার ব্রাউজারের বাইরে যায় না। তবু বৈধ টোকেন মেয়াদ শেষ না হওয়া পর্যন্ত পাসওয়ার্ডের মতো কাজ করে, তাই মেয়াদোত্তীর্ণ বা টেস্ট টোকেন ব্যবহার করুন এবং লাইভ টোকেন স্ক্রিনশট ও চ্যাটে রাখবেন না।
টোকেন সবেমাত্র ইস্যু হলেও কেন মেয়াদোত্তীর্ণ দেখাচ্ছে?
প্রথমে আপনার ডিভাইসের ঘড়ি দেখুন। কিছু ইস্যুকারী অ্যাক্সেস টোকেনের মেয়াদ মাত্র কয়েক মিনিট রাখে, আর লগ থেকে কপি করা টোকেন দেখতে যতটা নতুন মনে হয় তার চেয়ে পুরনো হতে পারে। সেকেন্ডের বদলে মিলিসেকেন্ডে লেখা exp উল্টো ঘটনা ঘটায় এবং হাজার হাজার বছর সামনে চলে যায়।
অন্য কেউ কি আমার JWT-এর পেলোড বদলে দিতে পারে?
তারা এডিট করে আবার এনকোড করতে পারে, কিন্তু সিগনেচার আর মিলবে না। সঠিক কী ও অ্যালগরিদমে সিগনেচার যাচাই করা সার্ভার বদলানো টোকেন প্রত্যাখ্যান করে।
JWS আর JWE-এর মধ্যে পার্থক্য কী?
JWS (RFC 7515) সাইন করা, তিন অংশের এবং যে কেউ পড়তে পারে। JWE (RFC 7516) এনক্রিপ্ট করা, পাঁচ অংশের এবং শুধু কী-এর অধিকারী পেলোড পড়তে পারে।
লগ আউট করলে কি JWT অকার্যকর হয়ে যায়?
নিজে থেকে নয়। সার্ভার ডিনাইলিস্ট রাখলে বা সেশন রেকর্ড যাচাই করলে ছাড়া সাইন করা JWT exp পর্যন্ত বৈধ থাকে, আর এ কারণেই অ্যাক্সেস টোকেনের মেয়াদ সাধারণত কম রাখা হয়।