Jwt में 'ऑड' और 'आइएस' के बीच अंतर


13

मैं एक अधिक मजबूत प्रमाणीकरण सेवा को लागू करना चाहता हूं और jwtजो मैं करना चाहता हूं उसका एक बड़ा हिस्सा है, और मैं समझता हूं कि कोड कैसे लिखना है, लेकिन मुझे आरक्षित issऔर audदावों के बीच अंतर को समझने में थोड़ी परेशानी हो रही है । मैं समझता हूं कि एक सर्वर को परिभाषित करता है जो टोकन जारी कर रहा है और एक उस एप्लिकेशन को संदर्भित करता है जो उपयोग के लिए अभिप्रेत है। लेकिन जिस तरह से मैं समझता हूं कि मेरे दर्शक और जारीकर्ता एक ही चीज myserver.comटोकन जारी कर रहे हैं ताकि आने वाले लोग myserver.comअधिकृत और प्रमाणित हो सकें। मुझे लगता है कि मैं दो दावों के बीच अंतर नहीं देखता, हालांकि मुझे पता है कि एक है।
वहाँ पर एक अच्छा लेख लिखा गया थाmsdn आरक्षित दावों के सभी पर और यही वह जगह है जहाँ मैं सबसे अधिक भ्रमित हो गया क्योंकि उनके जारीकर्ता और दर्शक पूरी तरह से अलग थे।


आपको JWT RFC-7519
Laiv

जवाबों:


10

ये उन परिदृश्यों के लिए अभिप्रेत हैं जहाँ आपके पास एक टोकन जारी करने वाला प्राधिकारी है जो कि उस एप्लिकेशन के समान नहीं है जो इच्छित प्राप्तकर्ता है।

यह आपके आवेदन के लिए अलग नहीं हो सकता है।

लेकिन एक बड़े पैमाने पर आवेदन पर विचार करें। आपके पास एक OAuth या SSO सर्वर हो सकता है जो प्रमाणपत्र जारी कर रहा है, और एक अनुप्रयोग जो एक टोकन चाहता है जो SSO सर्वर को दिखाता है उपयोगकर्ता की क्रेडेंशियल्स की जाँच की है और उपयोगकर्ता को आवेदन का उपयोग करने की मंजूरी दी है। उस स्थिति में, आपके पास एक टोकन हो सकता है "aud": "aud.example.com"और "iss": "sso.example.com"


ओह मैं समझा। यह मेरी ओर से एक गलतफहमी थी क्योंकि मैंने दो बातें सोची: 1. आपके पास दावों के हिस्से के रूप में "दोनों" और "ऑड" होना चाहिए। 2. उन्हें एक-दूसरे के लिए अद्वितीय होना था। यह स्पष्ट रूप से सच्चाई नहीं है। इसलिए, यदि आपके पास मेरा आवेदन है, तो क्या आप भी उन दो दावों को अपने में शामिल करेंगे jwtया उन्हें छोड़ देंगे क्योंकि वे समान होंगे?
एडम मैकगर्क

आप निश्चित रूप से उन्हें छोड़ सकते हैं और उन्हें बाद में जोड़ सकते हैं जब आपके पास इसका उपयोग करने का कारण हो
पॉल

होगा audकभी कभी एक तीसरी पार्टी हो या नहीं?
एंडी

मुझे लगता है कि मैं भी भ्रमित हूं कि स्कोप का उपयोग यह संकेत देने के लिए क्यों नहीं किया जाएगा कि उपयोगकर्ता किसी दिए गए आवेदन के लिए अनुमोदित है।
एंडी

हां, audएक मान या एक सरणी हो सकती है। यह प्रत्येक इच्छित प्राप्तकर्ता या प्रोसेसर पर मेल खाना चाहिए। मान लें कि आप एक उपयोगकर्ता (या एप्लिकेशन) हैं जो क्वेरी चलाने के लिए api.example.com को कॉल करना चाहता है। यदि api.example.com प्रमाणीकरण को संभालने के लिए कुछ तृतीय पक्षीय सेवा (जैसे Auth0) पर भरोसा करता है, तो उस सेवा को aud'api.example.com' के साथ आबाद करना चाहिए , और 'api.example.com' पर ऐप को सत्यापित करना चाहिए। मामला। दर्शकों की तुलना में स्कोप अधिक दानेदार होते हैं, और पेलोड में भी शामिल किए जा सकते हैं।
पॉल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.