इस प्रोजेक्ट के बारे में

jwt-go एक उत्पादन-तैयार Go लाइब्रेरी है जो RFC 7519 में परिभाषित JSON Web Tokens (JWT) को लागू करती है। यह JWTs को पार्स, सत्यापित, उत्पन्न और हस्ताक्षरित करने के लिए व्यापक समर्थन प्रदान करती है, जिससे यह Go एप्लिकेशन में प्रमाणीकरण और प्राधिकरण के लिए एक मौलिक उपकरण बन जाती है। लाइब्रेरी में HMAC SHA, RSA, RSA-PSS और ECDSA सहित कई हस्ताक्षर एल्गोरिदम का समर्थन है, और कस्टम हस्ताक्षर विधियों को जोड़ने के लिए हुक उपलब्ध हैं। यह Semantic Versioning 2.0.0 का पालन करती है और उत्पादन उपयोग के लिए स्थिर मानी जाती है। मुख्य विशेषताएं शामिल हैं: - JWTs का पार्सिंग और सत्यापन - JWTs का उत्पन्न और हस्ताक्षर - HMAC SHA, RSA, RSA-PSS और ECDSA हस्ताक्षर एल्गोरिदम का समर्थन - SigningMethod इंटरफेस के माध्यम से कस्टम हस्ताक्षर विधियों की अनुमति देने वाला विस्तारणीय आर्किटेक्चर - तीसरे पक्ष की कुल प्रबंधन सेवाओं (GCP, AWS KMS, TPM, JWKS) के लिए एकीकरण बिंदु - सुरक्षा-चेतक डिज़ाइन जो असुरक्षित JWTs (alg=none) के लिए स्पष्ट ऑप्ट-इन की मांग करता है - टोकन निर्माण, पार्सिंग और डीबगिंग के लिए एक कमांड-लाइन यूटिलिटी (cmd/jwt) यह परियोजना dgrijalva/jwt-go का एक फोर्क के रूप में शुरू हुई थी, जब मूल लेखक ने अनुरोध किया था कि रखरखाव को ओपन सोर्स मेंटेनर्स की एक समर्पित टीम के पास स्थानांतरित कर दिया जाए। संस्करण v4.0.0 में Go मॉड्यूल समर्थन पेश किया गया था, जबकि v3.x.y टैग्स के साथ पीछे की ओर संगतता बनाए रखी गई थी। संस्करण v5.0.0 में टोकन सत्यापन में प्रमुख सुधार आए, लेकिन यह पूरी तरह से पीछे की ओर संगत नहीं है। लाइब्रेरी सुरक्षा सर्वोत्तम प्रथाओं पर जोर देती है, जिसमें JWT लाइब्रेरी में महत्वपूर्ण कमजोरियों को रोकने के लिए 'alg' पैरामीटर का सत्यापन शामिल है। यह Go 1.15 या बाद के संस्करण में अपग्रेड करने की सिफारिश करती है क्योंकि पुराने Go संस्करणों के crypto/elliptic पैकेज में एक सुरक्षा मुद्दा है। RFC 7519 के साथ अनुपालन बनाए रखा जाता है, जिसमें एक उल्लेखनीय अंतर है: केवल तभी alg=none का उपयोग करने वाले टोकन स्वीकार किए जाते हैं यदि स्थिरांक jwt.UnsafeAllowNoneSignatureType को कुंजी के रूप में प्रदान किया जाए, जो असुरक्षित JWTs की दुर्घटना वश उपयोग से बचाता है। परियोजना में विस्तृत दस्तावेज़ीकरण, उदाहरण और एक समर्पित दस्तावेज़ीकरण वेबसाइट शामिल है। यह कस्टम हस्ताक्षर विधियों या कुल कार्यों को जोड़ने के लिए सभी आवश्यक घटकों को भी प्रकाशित करता है, जिससे यह विभिन्न उपयोग के मामलों के लिए अत्यधिक विस्तारणीय हो जाता है, जिसमें क्लाउड प्रदाता एकीकरण और हार्डवेयर सुरक्षा मॉड्यूल शामिल हैं।