मैं एक नोड लाइब्रेरी का लेखक हूं, जो काफी गहराई, एक्सप्रेस-स्टापपैथ में प्रमाणीकरण को संभालता है , इसलिए मैं यहां कुछ जानकारी के साथ झंकार करूंगा।
सबसे पहले, JWTs को आम तौर पर एन्क्रिप्ट नहीं किया जाता है। जबकि JWTs को एन्क्रिप्ट करने का एक तरीका है (देखें: JWEs ), यह कई कारणों से बहुत आम नहीं है।
अगला, प्रमाणीकरण का कोई भी रूप (JWTs या नहीं का उपयोग करके), MitM हमलों (मानव-मध्य-मध्य हमलों) के अधीन है। जब आप इंटरनेट पर अनुरोध करते हैं तो ये हमले तब होते हैं जब कोई हमलावर आपका नेटवर्क देख सकता है। यह वही है जो आपका आईएसपी देख सकता है, एनएसए, आदि।
यह वही है जो SSL को रोकने में मदद करता है: अपने कंप्यूटर से अपने नेटवर्क ट्रैफ़िक को एन्क्रिप्ट करके -> प्रमाणीकरण करते समय कुछ सर्वर, आपके नेटवर्क ट्रैफ़िक की निगरानी करने वाला एक तृतीय पक्ष आपके टोकन, पासवर्ड या ऐसा कुछ भी नहीं देख सकता जब तक कि वे किसी तरह सक्षम न हों। सर्वर की निजी एसएसएल कुंजी (अप्रभावित) की एक प्रति प्राप्त करने के लिए। यही कारण है कि SSL प्रमाणीकरण के सभी रूपों के लिए MANDATORY है।
हालांकि, मान लें कि कोई व्यक्ति आपके एसएसएल का शोषण करने में सक्षम है और आपके टोकन को देखने में सक्षम है: आपके प्रश्न का उत्तर यह है कि हां , हमलावर उस टोकन का उपयोग करने में सक्षम होगा जो आपको लागू करने के लिए और आपके सर्वर से अनुरोध करने के लिए।
अब, यह वह जगह है जहां प्रोटोकॉल आते हैं।
JWTs एक प्रमाणीकरण टोकन के लिए सिर्फ एक मानक हैं। वे बहुत ज्यादा कुछ के लिए इस्तेमाल किया जा सकता है। JWTs शांत होने का कारण यह है कि आप उनमें अतिरिक्त जानकारी एम्बेड कर सकते हैं, और आप यह सत्यापित कर सकते हैं कि किसी ने इसके साथ कोई गड़बड़ नहीं की है (हस्ताक्षर)।
फिर भी, JWTs का 'सुरक्षा' से कोई लेना-देना नहीं है। सभी इरादों और उद्देश्यों के लिए, JWTs कमोबेश एक ही चीज हैं API कुंजियाँ: बस रैंडम स्ट्रिंग्स जो आप कुछ सर्वर के खिलाफ प्रमाणित करने के लिए उपयोग करते हैं।
आपके प्रश्न को और अधिक रोचक बनाता है प्रोटोकॉल का उपयोग किया जा रहा है (सबसे अधिक संभावना OAuth2)।
OAuth2 के काम करने का तरीका यह है कि यह ग्राहकों को केवल समय के एक छोटे पैमाने के लिए प्रमाणीकरण के लिए (JWTs की तरह!) टोकन देने के लिए डिज़ाइन किया गया था।
विचार यह है कि यदि आपका टोकन चोरी हो जाता है, तो हमलावर केवल थोड़े समय के लिए इसका उपयोग कर सकता है।
OAuth2 के साथ, आपको अपने उपयोगकर्ता नाम / पासवर्ड या एपीआई क्रेडेंशियल्स की आपूर्ति करके और फिर बदले में एक टोकन प्राप्त करके सर्वर के साथ हर बार खुद को फिर से प्रमाणित करना होगा।
क्योंकि यह प्रक्रिया हर अब और तब होती है, आपके टोकन अक्सर बदलते रहेंगे, जिससे हमलावरों के लिए आपको लगातार परेशानी से गुजरना मुश्किल हो सकता है।
उम्मीद है कि यह ^ ^ मदद करता है