বিনামূল্যে কনভার্টার

JWT টোকেন ডিকোডার

আপনার ব্রাউজারে JWT (JSON Web Token) হেডার এবং পেলোড তাৎক্ষণিকভাবে ডিকোড করুন। বিনামূল্যে, ব্যক্তিগত এবং ক্লায়েন্ট-সাইড — কোনো ডেটা সার্ভারে পাঠানো হয় না।

এই টুল সম্পর্কে

JSON ওয়েব টোকেন (JWT) হল একটি কমপ্যাক্ট, ইউআরএল-নিরাপদ ফর্ম্যাট যা দুই পক্ষের মধ্যে দাবি প্রেরণের জন্য, RFC 7519 দ্বারা সংজ্ঞায়িত করা হয়েছে। একটি JWT হল তিনটি বেস64url-এনকোডেড সেগমেন্ট যা বিন্দু দ্বারা বিভক্ত: হেডার (অ্যালগরিদম এবং টোকেন টাইপ), পেলোড (দাবি) এবং স্বাক্ষর (ক্রিপ্টোগ্রাফিক প্রুফ)। হেডার এবং পেলোড হল JSON, URL নিরাপত্তার জন্য base64url-এনকোড করা; স্বাক্ষরটি এনকোডেড হেডার এবং পেলোডের উপর বেশ কয়েকটি অ্যালগরিদমের একটি (HS256, RS256, ES256 এবং অন্যান্য) ব্যবহার করে।

একটি JWT ডিকোডিং - এটিকে সেগমেন্টে বিভক্ত করা এবং প্রতিটি বেস64-ডিকোডিং - কোন গোপন প্রয়োজন নেই। টোকেন টেক্সট সহ যে কেউ এর হেডার এবং পেলোড পড়তে পারে। স্বাক্ষর, তবে, শুধুমাত্র গোপন (HMAC) বা সর্বজনীন কী (অসমমিতিক) দিয়ে যাচাই করা যেতে পারে। ডিকোডিং পরিদর্শনের জন্য; যাচাইকরণই সত্যতা প্রমাণ করে।

এই ডিকোডারটি টোকেনকে বিভক্ত করে, প্রতিটি সেগমেন্টকে base64-ডিকোড করে, হেডার এবং পেলোডকে JSON হিসেবে পার্স করে এবং ফলাফল দেখায়। এটি স্বাক্ষর যাচাইকরণের চেষ্টা করে না কারণ এর জন্য গোপন বা সর্বজনীন কী প্রয়োজন, যা ডিকোডারের নেই। ডিকোড করা আউটপুটটি শুধুমাত্র পঠনযোগ্য পরিদর্শন - টোকেন ডিবাগ করার জন্য দরকারী কিন্তু অ্যাপ্লিকেশন কোডে সঠিক যাচাইকরণের বিকল্প নয়।

কেন JWTs ডিকোড

ডিবাগিং প্রমাণীকরণ সমস্যা প্রায় সবসময় টোকেন পরিদর্শন জড়িত। কোডে বৈধ বলে মনে হয় এমন একটি টোকেনে ভুল দাবি, একটি অপ্রত্যাশিত অ্যালগরিদম, মেয়াদ শেষ হয়ে যাওয়া টাইমস্ট্যাম্প বা দর্শকদের অমিল থাকতে পারে। টোকেন ডিকোডিং প্রকাশকারী ঠিক কি উত্পাদিত.

ইন্টিগ্রেশন কাজের সময় টোকেন পরিদর্শন এছাড়াও সাহায্য করে. তৃতীয় পক্ষের API বা পরিচয় প্রদানকারীর সাথে সংযোগ করার সময়, প্রকৃত দাবির নাম, বিন্যাস এবং কাঠামোটি পুরানো হতে পারে এমন ডকুমেন্টেশনের উপর নির্ভর না করে নমুনা টোকেনগুলি ডিকোড করার মাধ্যমে সবচেয়ে ভালভাবে বোঝা যায়।

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

টোকেন পেস্ট করুন, পার্স করা বিষয়বস্তু পান।

  1. আপনার JWT পেস্ট করুন: ইনপুট এলাকায় সম্পূর্ণ টোকেন (header.payload.signature) ফেলে দিন। ডিকোডার ঐচ্ছিক বহনকারী উপসর্গ সহ বা ছাড়া টোকেন গ্রহণ করে।
  2. হেডার পরিদর্শন করুন: হেডার সাইনিং অ্যালগরিদম (alg) এবং টোকেন টাইপ (টাইপ) দেখায়। সাধারণ অ্যালগরিদমগুলি হল HS256, RS256, এবং ES256৷ alg এর জন্য দেখুন: কোনটিই নয়, যা একটি স্বাক্ষরবিহীন টোকেনকে সংকেত দেয় এবং উৎপাদনে খুব কমই নিরাপদ।
  3. পেলোড পরিদর্শন করুন: পেলোডে দাবিগুলি রয়েছে: iss (ইস্যুকারী), সাব (বিষয়), aud (শ্রোতা), exp (মেয়াদ শেষ হওয়া), iat (এ জারি করা), এবং যেকোন অ্যাপ্লিকেশন-নির্দিষ্ট দাবি। স্ট্যান্ডার্ড টাইমস্ট্যাম্প হল ইউনিক্স যুগের সেকেন্ড।
  4. আলাদাভাবে যাচাই করুন: ডিকোডার স্বাক্ষর যাচাই করে না। সত্যতা যাচাই করতে, আপনার অ্যাপ্লিকেশন কোডে উপযুক্ত গোপন বা সর্বজনীন কী সহ একটি JWT লাইব্রেরির মাধ্যমে টোকেনটি চালান।

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

প্রযুক্তিগত বিবরণ

JWT ফরম্যাট হল বিন্দু দ্বারা যুক্ত তিনটি অংশ। প্রতিটি সেগমেন্ট হল base64url-এনকোডেড — বেস64-এর URL-নিরাপদ রূপ যা + এবং /-এর পরিবর্তে - এবং _ ব্যবহার করে, প্যাডিং কখনও কখনও বাদ দেওয়া হয়। ডিকোডিংয়ের জন্য ইউআরএল-নিরাপদ প্রতিস্থাপনগুলি পূর্বাবস্থায় ফেরানো, সেগমেন্ট প্যাডিং এবং বেস64-ডিকোডিং প্রয়োজন।

হেডার এবং পেলোড ডিকোডিংয়ের পরে JSON হয়। স্বাক্ষর বিভাগটি বাইনারি (কাঁচা স্বাক্ষর বাইট) এবং এটি মানুষের পাঠযোগ্য নয়; এটি কার্যকর হওয়ার জন্য যাচাইকরণ কী প্রয়োজন।

RFC 7519-এ সংজ্ঞায়িত সাধারণ দাবিগুলি: iss (ইস্যুকারী), সাব (বিষয় শনাক্তকারী), aud (শ্রোতা), exp (Unix epoch সেকেন্ড হিসাবে মেয়াদ শেষ হওয়া), nbf (টাইমস্ট্যাম্পের আগে নয়), iat (টাইমস্ট্যাম্পে জারি করা), jti (অনন্য টোকেন আইডি)। আবেদন-নির্দিষ্ট দাবি যে কোনো নামের সঙ্গে প্রদর্শিত হতে পারে.

সর্বোত্তম অনুশীলন

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

এখানে আমার JWT পেস্ট করা কি নিরাপদ?
হ্যাঁ। ডিকোডিং সম্পূর্ণরূপে আপনার ব্রাউজারে ঘটে — টোকেনটি কখনই কোনো সার্ভারে পাঠানো হয় না। যাইহোক, JWT গুলি হল শংসাপত্র — সেগুলিকে সর্বজনীনভাবে শেয়ার করবেন না (স্ক্রিনশট, স্ট্যাক ওভারফ্লো পোস্ট ইত্যাদিতে) কারণ তারা আপনার অ্যাকাউন্টগুলিতে অ্যাক্সেস মঞ্জুর করতে পারে৷
এই টুল কি JWT স্বাক্ষর যাচাই করে?
এই টুলটি ডিকোড করে এবং টোকেন বিষয়বস্তু প্রদর্শন করে। স্বাক্ষর যাচাইকরণের জন্য গোপন কী (HMAC) বা সর্বজনীন কী (RSA/ECDSA) প্রয়োজন, যা আপনার সার্ভারে থাকা উচিত। টুলটি ব্যবহৃত অ্যালগরিদম দেখায় কিন্তু কী ছাড়া যাচাই করতে পারে না।
স্ট্যান্ডার্ড JWT দাবি মানে কি?
iss = ইস্যুকারী, সাব = বিষয় (ব্যবহারকারী আইডি), exp = মেয়াদ শেষ হওয়ার সময় (ইউনিক্স টাইমস্ট্যাম্প), iat = জারি করা সময়ে, nbf = আগে নয়, aud = দর্শক, jti = JWT আইডি। কাস্টম দাবিতে কোনো অ্যাপ্লিকেশন-নির্দিষ্ট ডেটা থাকতে পারে।
কেন কেউ একটি JWT ডিকোড করতে পারেন?
JWTs এনকোড করা হয়, এনক্রিপ্ট করা হয় না। পেলোড হল Base64URL-এনকোডেড (এনক্রিপ্ট করা নয়), তাই যে কেউ এটি পড়তে পারে। স্বাক্ষর টেম্পারিং প্রতিরোধ করে, পড়া নয়। JWT পেলোডে কখনোই সংবেদনশীল ডেটা (পাসওয়ার্ড, SSN) সংরক্ষণ করবেন না।
কেন কিছু টোকেন একটি স্বাক্ষর অনুপস্থিত?
alg সহ টোকেন: কারোরই কোন স্বাক্ষর নেই। এগুলি বৈশিষ্ট্য অনুসারে বৈধ JWT কিন্তু কোন সত্যতা গ্যারান্টি প্রদান করে না এবং উৎপাদনে গ্রহণ করা উচিত নয়।
JWTs এনক্রিপ্ট করা হয়?
স্ট্যান্ডার্ড JWT পেলোড স্বাক্ষরিত কিন্তু এনক্রিপ্ট করা হয় না। JWE (JSON ওয়েব এনক্রিপশন, RFC 7516) এনক্রিপ্ট করা টোকেনগুলির জন্য একটি পৃথক বিন্যাস। বন্য মধ্যে বেশিরভাগ JWT হল JWS (শুধুমাত্র স্বাক্ষরিত)।
আমার টোকেন কি একটি সার্ভারে আপলোড করা হয়েছে?
না। ডিকোডিং আপনার ব্রাউজারে ঘটে; টোকেন আপনার ডিভাইস ছেড়ে যায় না।
JWTs সাধারণত কতদিনের হয়?
যে কোনো জায়গায় কয়েকশ থেকে কয়েক হাজার অক্ষর। দৈর্ঘ্য দাবির সংখ্যা এবং আকার এবং স্বাক্ষর দৈর্ঘ্যের উপর নির্ভর করে (যা অ্যালগরিদমের উপর নির্ভর করে)।