http headers जेडब्ल्यूटी के लिए सर्वश्रेष्ठ HTTP प्राधिकरण शीर्षलेख प्रकार




http-headers jwt (2)

मैं सोच रहा हूं कि जेडब्ल्यूटी टोकन के लिए सबसे अच्छा उचित Authorization HTTP शीर्षलेख प्रकार क्या है।

शायद सबसे लोकप्रिय प्रकार में से एक Basic । उदाहरण के लिए:

Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

यह दो पैरामीटर जैसे लॉगिन और पासवर्ड को संभालता है। तो यह जेडब्ल्यूटी टोकन के लिए प्रासंगिक नहीं है।

इसके अलावा, मैंने बेयरर प्रकार के बारे में सुना, उदाहरण के लिए:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

हालांकि, मुझे इसका अर्थ नहीं पता है। क्या यह भालू से संबंधित है?

HTTP Authorization शीर्षलेख में जेडब्ल्यूटी टोकन का उपयोग करने का कोई विशेष तरीका है? क्या हमें Bearer उपयोग करना चाहिए, या हमें सरल बनाना चाहिए और बस इसका उपयोग करना चाहिए:

Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

धन्यवाद।

संपादित करें:

या शायद, सिर्फ एक JWT HTTP हेडर:

JWT: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ

अपने क्लाइंट के लिए एक्सेस टोकन (जेडब्ल्यूटी या कोई अन्य टोकन) भेजने के लिए सबसे अच्छा HTTP शीर्षलेख Bearer प्रमाणीकरण योजना के साथ Authorization शीर्षलेख है।

इस योजना का वर्णन RFC6750 द्वारा किया गया है।

उदाहरण:

GET /resource HTTP/1.1 Host: server.example.com Authorization: Bearer eyJhbGciOiJIUzI1NiIXVCJ9...TJVA95OrM7E20RMHrHDcEfxjoYZgeFONFh7HgQ

अगर आपको मजबूत सुरक्षा सुरक्षा की आवश्यकता है, तो आप निम्नलिखित आईईटीएफ ड्राफ्ट पर भी विचार कर सकते हैं: https://tools.ietf.org/html/draft-ietf-oauth-pop-architecture । यह मसौदा (छोड़ दिया गया?) https://tools.ietf.org/html/draft-ietf-oauth-v2-http-mac एक अच्छा विकल्प प्रतीत होता है।

ध्यान दें कि भले ही यह आरएफसी और उपर्युक्त विनिर्देश OAuth2 फ्रेमवर्क प्रोटोकॉल से संबंधित हैं, वे किसी अन्य संदर्भ में उपयोग किए जा सकते हैं जिसके लिए क्लाइंट और सर्वर के बीच टोकन एक्सचेंज की आवश्यकता होती है।

आपके प्रश्न में JWT कस्टम JWT योजना के विपरीत, JWT आईएएनए में पंजीकृत है

Basic और Digest प्रमाणीकरण योजनाओं के बारे में, वे उपयोगकर्ता नाम और एक रहस्य ( RFC7616 और RFC7617 RFC7616 देखें) का उपयोग करके प्रमाणीकरण के लिए समर्पित हैं, इसलिए उस संदर्भ में लागू नहीं है।


क्या यह भालू से संबंधित है?

एरर ... नहीं!

RFC6750 अनुसार बेयरर टोकन की परिभाषा यहां दी गई है:

1.2। शब्दावली

बेयरर टोकन

संपत्ति के साथ एक सुरक्षा टोकन जो टोकन ("भालू") के कब्जे में किसी भी पार्टी को टोकन का उपयोग किसी भी तरह से कर सकता है, जिसकी कोई अन्य पार्टी इसके कब्जे में हो सकती है। एक भालू टोकन का उपयोग करने के लिए क्रिप्टोग्राफिक कुंजी सामग्री (साक्ष्य के कब्जे) के कब्जे को साबित करने के लिए एक भालू की आवश्यकता नहीं होती है।

Bearer योजना मूल रूप से ओएथ 2.0 प्राधिकरण ढांचे के लिए RFC6750 में परिभाषित की गई है, लेकिन कुछ भी उन अनुप्रयोगों में एक्सेस टोकन के लिए Bearer योजना का उपयोग करने से रोकता है जो OAuth 2.0 का उपयोग नहीं करते हैं।

जितना हो सके मानकों पर चिपके रहें और अपनी खुद की प्रमाणीकरण योजनाएं न बनाएं।

Bearer प्रमाणीकरण योजना का उपयोग कर Authorization अनुरोध शीर्षलेख में एक एक्सेस टोकन भेजा जाना चाहिए:

2.1। प्रमाणीकरण अनुरोध शीर्षलेख फ़ील्ड

HTTP / 1.1 द्वारा परिभाषित Authorization अनुरोध शीर्षलेख फ़ील्ड में एक्सेस टोकन भेजते समय, क्लाइंट एक्सेस टोकन को प्रेषित करने के लिए Bearer प्रमाणीकरण योजना का उपयोग करता है।

उदाहरण के लिए:

GET /resource HTTP/1.1
Host: server.example.com
Authorization: Bearer mF_9.B5f-4.1JqM

[...]

ग्राहक को Bearer HTTP प्राधिकरण योजना के साथ Authorization अनुरोध शीर्षलेख फ़ील्ड का उपयोग करके भालू टोकन के साथ प्रमाणीकृत अनुरोध करना चाहिए। [...]

अमान्य या अनुपलब्ध टोकन के मामले में, Bearer योजना को WWW-Authenticate प्रतिक्रिया शीर्षलेख में शामिल किया जाना चाहिए:

3. डब्ल्यूडब्ल्यूडब्ल्यू-प्रमाणीकरण प्रतिक्रिया शीर्षलेख फ़ील्ड

यदि संरक्षित संसाधन अनुरोध में प्रमाणीकरण प्रमाण-पत्र शामिल नहीं हैं या इसमें कोई एक्सेस टोकन नहीं है जो संरक्षित संसाधन तक पहुंच को सक्षम बनाता है, तो संसाधन सर्वर में HTTP WWW-Authenticate प्रतिक्रिया शीर्षलेख फ़ील्ड शामिल होना चाहिए [...]।

इस विनिर्देशन द्वारा परिभाषित सभी चुनौतियों को ऑथ-स्कीम वैल्यू Bearer उपयोग करना चाहिए। इस योजना के बाद एक या अधिक औथ-पैरा मानों का पालन किया जाना चाहिए। [...]।

उदाहरण के लिए, प्रमाणीकरण के बिना संरक्षित संसाधन अनुरोध के जवाब में:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="example"

और एक समाप्त संसाधन टोकन का उपयोग कर प्रमाणीकरण प्रयास के साथ संरक्षित संसाधन अनुरोध के जवाब में:

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="example",
                         error="invalid_token",
                         error_description="The access token expired"






jwt