JWT এনকোডিং কী?
JWT এনকোডিং হলো একটি JSON Web Token তৈরি করার প্রক্রিয়া, যার মধ্যে হেডার ও পেলোড নির্মাণ এবং তারপর নির্দিষ্ট অ্যালগরিদম ও সিক্রেট কী দিয়ে সই করা অন্তর্ভুক্ত। জেনারেট করা JWT প্রমাণীকরণ ও তথ্য প্রেরণের জন্য ব্যবহার করা যেতে পারে।
JWT জেনারেশন ধাপ
- হেডার তৈরি করুন: টোকেন টাইপ (JWT) ও সই অ্যালগরিদম নির্দিষ্ট করুন
- পেলোড তৈরি করুন: ক্লেইম ও ব্যবহারকারীর ডেটা যোগ করুন
- Base64 এনকোডিং: হেডার ও পেলোড Base64URL এনকোড করুন
- সিগনেচার তৈরি করুন: নির্দিষ্ট অ্যালগরিদম ও সিক্রেট কী দিয়ে এনকোড করা ডেটা সই করুন
- টোকেন একত্রিত করুন: চূড়ান্ত JWT গঠনের জন্য তিনটি অংশ ডট (.) দিয়ে যুক্ত করুন
সমর্থিত সই অ্যালগরিদম
- HS256: HMAC SHA-256, সবচেয়ে বেশি ব্যবহৃত সিমেট্রিক এনক্রিপশন অ্যালগরিদম
- HS384: HMAC SHA-384, শক্তিশালী নিরাপত্তা
- HS512: HMAC SHA-512, সর্বোচ্চ স্তরের নিরাপত্তা
পেলোড সেরা অনুশীলন
- স্ট্যান্ডার্ড ক্লেইম: iss, sub, aud, exp, iat-এর মতো স্ট্যান্ডার্ড ফিল্ড ব্যবহার করুন
- কাস্টম ক্লেইম: অ্যাপ্লিকেশন-নির্দিষ্ট ব্যবহারকারীর তথ্য ও অনুমতি যোগ করুন
- মেয়াদ শেষের সময়: সবসময় যুক্তিসঙ্গত exp (মেয়াদ শেষের সময়) সেট করুন
- ডেটা মিনিমাইজেশন: শুধুমাত্র প্রয়োজনীয় তথ্য অন্তর্ভুক্ত করুন, সংবেদনশীল ডেটা এড়িয়ে চলুন
নিরাপত্তা সুপারিশ
- শক্তিশালী কী ব্যবহার করুন, অন্তত 32 অক্ষরের এলোমেলো স্ট্রিং
- নিরাপত্তা উন্নত করতে নিয়মিত কী ঘোরান
- যুক্তিসঙ্গত মেয়াদ শেষের সময় সেট করুন, সাধারণত 24 ঘণ্টার বেশি নয়
- প্রোডাকশন পরিবেশে JWT প্রেরণে HTTPS ব্যবহার করুন
- রিফ্রেশ টোকেন মেকানিজম ব্যবহারের কথা বিবেচনা করুন