প্রকল্প সম্পর্কে
jwt-go হলো একটি প্রোডাকশন-রেডি Go লাইব্রেরি যা RFC 7519-এ সংজ্ঞায়িত JSON Web Token (JWT) বাস্তবায়ন করে। এটি JWT পার্সিং, যাচাইকরণ, তৈরি এবং সাইনিংয়ের জন্য সম্পূর্ণ সমর্থন প্রদান করে, যা Go অ্যাপ্লিকেশনে অথেনটিকেশন এবং অথোরাইজেশনের জন্য একটি ভিত্তিমূলক টুল হিসেবে কাজ করে।
লাইব্রেরিটি HMAC SHA, RSA, RSA-PSS এবং ECDSA সহ একাধিক সাইনিং অ্যালগরিদম সমর্থন করে, এবং কাস্টম সাইনিং পদ্ধতি যোগ করার জন্য হুক উপলব্ধ রয়েছে। এটি সেমান্টিক ভার্সনিং 2.0.0 অনুসরণ করে এবং প্রোডাকশন ব্যবহারের জন্য স্থিতিশীল বলে বিবেচিত।
মূল বৈশিষ্ট্যগুলির মধ্যে রয়েছে:
- JWT পার্সিং এবং যাচাইকরণ
- JWT তৈরি এবং সাইনিং
- HMAC SHA, RSA, RSA-PSS এবং ECDSA সাইনিং অ্যালগরিদমের জন্য সমর্থন
- SigningMethod ইন্টারফেসের মাধ্যমে কাস্টম সাইনিং পদ্ধতি অনুমোদনকারী এক্সটেনসিবল আর্কিটেকচার
- তৃতীয়-পক্ষের কী ম্যানেজমেন্ট সার্ভিসের (GCP, AWS KMS, TPM, JWKS) জন্য ইন্টিগ্রেশন পয়েন্ট
- নিরাপত্তা-সচেতন ডিজাইন যা অসুরক্ষিত JWT (alg=none) এর জন্য স্পষ্ট অপ্ট-ইন প্রয়োজন
- একটি কমান্ড-লাইন ইউটিলিটি (cmd/jwt) টোকেন তৈরি, পার্সিং এবং ডিবাগিংয়ের জন্য
প্রকল্পটি dgrijalva/jwt-go-এর একটি ফর্ক হিসেবে শুরু হয়েছিল যখন মূল লেখক রক্ষণাবেক্ষণ একটি নিবেদিত ওপেন সোর্স মেইনটেইনার দলে স্থানান্তরের পরামর্শ দিয়েছিলেন। সংস্করণ v4.0.0 Go মডিউল সমর্থন চালু করেছিল এবং v3.x.y ট্যাগের সাথে পিছনের দিকে সামঞ্জস্য বজায় রেখেছিল। সংস্করণ v5.0.0 টোকেন যাচাইকরণে বড় উন্নতি এনেছিল তবে এটি সম্পূর্ণরূপে পিছনের দিকে সামঞ্জস্যপূর্ণ নয়।
লাইব্রেরিটি নিরাপত্তা সেরা অনুশীলনের উপর জোর দেয়, যার মধ্যে JWT লাইব্রেরিতে গুরুত্বপূর্ণ দুর্বলতা প্রতিরোধ করতে 'alg' প্যারামিটারের যাচাইকরণ অন্তর্ভুক্ত। এটি পুরানো Go সংস্করণের crypto/elliptic প্যাকেজে নিরাপত্তা সমস্যার কারণে Go 1.15 বা তার পরে আপগ্রেড করার পরামর্শ দেয়।
RFC 7519-এর সাথে সম্মতি বজায় রাখা হয় একটি উল্লেখযোগ্য পার্থক্যের সাথে: alg=none ব্যবহার করা টোকেন শুধুমাত্র তখনই গ্রহণ করা হয় যখন jwt.UnsafeAllowNoneSignatureType ধ্রুবকটি কী হিসেবে প্রদান করা হয়, যা অসুরক্ষিত JWT-এর দুর্ঘটনাজনিত ব্যবহার থেকে রক্ষা করে।
প্রকল্পটিতে বিস্তৃত ডকুমেন্টেশন, উদাহরণ এবং একটি নিবেদিত ডকুমেন্টেশন ওয়েবসাইট অন্তর্ভুক্ত রয়েছে। এটি কাস্টম সাইনিং পদ্ধতি বা কী ফাংশন যোগ করার জন্য প্রয়োজনীয় সমস্ত উপাদান প্রকাশ করে, যা ক্লাউড প্রদানকারী ইন্টিগ্রেশন এবং হার্ডওয়্যার সিকিউরিটি মডিউল সহ বিভিন্ন ব্যবহারের ক্ষেত্রে অত্যন্ত এক্সটেনসিবল করে তোলে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.