JWT टोकन का अधिकतम आकार क्या है?


111

मुझे अधिकतम लंबाई जानने की जरूरत है

JSON वेब टोकन (JWT)

चश्मा में इसके बारे में कोई जानकारी नहीं हैं। क्या यह हो सकता है कि लंबाई में कोई सीमाएं नहीं हैं?

जवाबों:


70

जैसा कि आपने कहा, RFC7519 ( https://tools.ietf.org/html/rfc7519 ) या JWS या JWE से संबंधित अन्य RFC में कोई अधिकतम लंबाई निर्धारित नहीं है ।

यदि आप JSON Serialized फॉर्मेट या JSON Flattened Serialized फॉर्मेट का उपयोग करते हैं, तो कोई सीमा नहीं है और कोई सीमा निर्धारित करने का कोई कारण नहीं है।

लेकिन अगर आप JSON कॉम्पैक्ट सीरियलाइज्ड प्रारूप (सबसे सामान्य प्रारूप) का उपयोग करते हैं, तो आपको यह ध्यान रखना होगा कि यह यथासंभव छोटा होना चाहिए क्योंकि यह मुख्य रूप से एक वेब संदर्भ में उपयोग किया जाता है। 4kb JWT एक ऐसी चीज है जिससे आपको बचना चाहिए।

केवल उपयोगी दावों और हेडर informations को स्टोर करने का ध्यान रखें।


86

मैं भी इसे खोजने की कोशिश कर रहा हूं।

मैं कहता हूँ चाहते हैं - कोशिश करते हैं और यह सुनिश्चित 7kb नीचे

जब तक JWT कल्पना में कोई ऊपरी सीमा निर्धारित नहीं करता ( http://www.rfc-editor.org/rfc/rfc7519.txt ) हमारे पास कुछ परिचालन सीमाएँ हैं। जैसा कि JWT एक HTTP हेडर में शामिल है, हम वर्तमान सर्वर के बहुमत पर 8K की एक ऊपरी सीमा ( SO: HTTP हेडर मान पर अधिकतम ) है।

जैसा कि इसमें सभी अनुरोध हेडर <8kb शामिल हैं, 7kb के साथ अन्य हेडर के लिए उचित मात्रा में कमरा दिया गया है। उस सीमा का सबसे बड़ा जोखिम कुकीज़ होगा (हेडर में भेजा जाता है और बड़ा हो सकता है)।

जैसा कि यह एन्क्रिप्ट किया गया है और मूल जाँघ स्ट्रिंग का कम से कम 33% अपव्यय है, इसलिए अंतिम एन्क्रिप्टेड टोकन की लंबाई की जांच करें।

एक अंतिम बिंदु - परदे के पीछे और अन्य नेटवर्क उपकरण रास्ते में एक असामान्य सीमा लागू कर सकते हैं ...


2
क्या 2-3kb रेंज में "बड़े" टोकन से बचने का कोई व्यावहारिक कारण है?
सैमुअल एलरॉड

1
@SamuelElrod यह संभावना आपके आवेदन की आवश्यकताओं पर निर्भर करता है। JWT से जुड़े हर अनुरोध के लिए 2-3kb हर बार तार के ऊपर सामान लाने के लिए एक अच्छी मात्रा में सामान जोड़ता है। यदि वह प्रभाव उपयोगकर्ता के प्रदर्शन को प्रभावित करता है, तो आप उसे सीमित कर देंगे।
जैक

1
अपने टोकन को फुलाने से बचने की कोशिश करें। मैं कहूंगा कि 2-3k पहले से ही बहुत बड़ा है, आपके पास वहाँ क्या है? मेरा वर्तमान टोकन 320 बाइट्स है।
14:28 पर user2800708

4
मैं खदान में विशेषाधिकार मानचित्र लगाने पर विचार कर रहा हूं। इसमें वर्तमान उपयोगकर्ता की सामान्य JWT जानकारी होगी, साथ ही उन सभी उपयोगकर्ताओं के लिए उपयोगकर्ता_आईडी और विशेषाधिकार प्रकार युक्त एक मानचित्र होगा जिसके लिए उनके पास विशेषाधिकार हैं। यह सैद्धांतिक रूप से बाध्य हो सकता है।
नैट

1
दिलचस्प है, मैं अभी विशेषाधिकारों के मानचित्र को बदलने पर विचार कर रहा हूं। अभी मेरी योजना भोली दृष्टिकोण का उपयोग करना है और उन्हें JSON सरणी के रूप में फावड़ा देना है, और अगर यह एक समस्या है तो मैं भविष्य में सामग्री को बाइनरी-जैसे प्रारूप में पैक करने का प्रयास करूंगा।
Ciantic

5

हेरोकू का उपयोग करते समय हेडर 8k पर सीमित होगा। Jwt2 पर आप कितना डेटा उपयोग कर रहे हैं, इसके आधार पर यह पहुंच जाएगा। अनुरोध, जब ओवरसाइज़, आपके नोड उदाहरण को नहीं छूएगा, तो हरोकू राउटर आपकी एपीआई परत से पहले इसे छोड़ देगा।

एक आने वाले अनुरोध को संसाधित करते समय, एक राउटर 8KB प्राप्त करता है बफर प्राप्त करता है और HTTP अनुरोध लाइन पढ़ना शुरू करता है और हेडर का अनुरोध करता है। इनमें से प्रत्येक लंबाई में अधिकतम 8KB हो सकता है, लेकिन कुल मिलाकर 8KB से अधिक हो सकता है। 8KB से अधिक लंबी एक अनुरोध पंक्ति या हेडर लाइन वाले अनुरोधों को राउटर द्वारा भेजे बिना हटा दिया जाएगा।

देखें: हरोकू लिमिट्स

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.