OAuth प्राधिकरण बनाम प्रमाणीकरण


90

OAuth शब्दावली मुझे लंबे समय से परेशान कर रही है। क्या OAuth प्राधिकरण कुछ सुझाव देगा या क्या यह प्रमाणीकरण है?

मुझे सही करें अगर मैं गलत हूं, लेकिन मैंने हमेशा प्राधिकरण को एक संसाधन तक किसी की पहुंच की अनुमति देने के कार्य के रूप में पढ़ा है, लेकिन OAuth को ऐसा कोई कार्यान्वयन नहीं लगता है जो वास्तव में किसी दिए गए संसाधन तक उपयोगकर्ताओं की पहुंच की अनुमति देता है। सभी OAuth कार्यान्वयन के बारे में बात करते हैं जो एक उपयोगकर्ता को टोकन (हस्ताक्षरित और कभी-कभी एन्क्रिप्टेड) ​​प्रदान कर रहा है। इस टोकन को हर कॉल के साथ एक बैक-एंड सर्विस एंडपॉइंट पर भेजा जाता है, जहां इसे वैधता के लिए जांचा जाता है, फिर से OAuth चिंता नहीं है।

क्या OAuth प्रमाणीकरण है (प्रत्येक लेख कहता है कि यह नहीं है) जो मुझे लगता है कि उपयोगकर्ता को क्रेडेंशियल्स प्रदान करने की आवश्यकता होती है, जो बदले में यह साबित करता है कि उपयोगकर्ता की पहुंच होनी चाहिए / नहीं?

तो ऐसा लगता है कि OAuth प्राधिकरण NOR प्रमाणीकरण नहीं है क्योंकि इन्हें अन्य प्रक्रियाओं द्वारा निष्पादित किया जाना है। तो क्या बिल्ली है? क्या यह टोकन संप्रेषण के लिए एक प्रक्रिया है? क्या यह फुलाना शब्द है जिसका वास्तव में कोई विशिष्ट अर्थ नहीं है?

यह इस विषय के बारे में एक सवाल पूछने के लिए कठिन है गूढ़ और अंधविश्वासी (भूत और भूत) लग रहा है तो मुझे उम्मीद है कि इस सवाल का जवाब देना भी एक साधारण बात नहीं होगी। स्वम् की ज़िम्मेदारी से प्रवेश करें।


मुझे ये उत्तर भी मददगार लगे: Security.stackexchange.com/questions/44611/…
antak

OAuth 2.0 एक सुरक्षा प्रोटोकॉल है। विवरण: stackoverflow.com/a/54304326/3623172
रजत

जवाबों:


153

OAuth प्राधिकरण के लिए एक विनिर्देश है

OAuth 2.0 प्राधिकरण के लिए एक विनिर्देशन है, लेकिन प्रमाणीकरण के लिए नहीं। आरएफसी 6749, 3.1। प्राधिकरण समापन बिंदु स्पष्ट रूप से निम्नानुसार है:

प्राधिकरण समापन बिंदु का उपयोग संसाधन स्वामी के साथ बातचीत करने और प्राधिकरण अनुदान प्राप्त करने के लिए किया जाता है। प्राधिकरण सर्वर को पहले संसाधन स्वामी की पहचान को सत्यापित करना होगा। जिस तरह से प्राधिकरण सर्वर संसाधन स्वामी (जैसे, उपयोगकर्ता नाम और पासवर्ड लॉगिन, सत्र कुकीज़) को प्रमाणित करता है वह इस विनिर्देशन के दायरे से बाहर है


OAuth प्रमाणीकरण

प्रमाणीकरण "कौन है" के बारे में जानकारी प्रदान करता है। प्राधिकरण "कौन किसको किसकी अनुमति देता है" के बारे में जानकारी प्रदान करता है। प्राधिकरण प्रवाह में पहले चरण के रूप में प्रमाणीकरण होता है। यही कारण है कि लोग अक्सर भ्रमित होते हैं।

कई लाइब्रेरी और सेवाएँ हैं जो प्रमाणीकरण के लिए OAuth 2.0 का उपयोग करती हैं। इसे अक्सर "सामाजिक लॉगिन" कहा जाता है और यह लोगों को अधिक भ्रमित करता है। यदि आप "OAuth प्रमाणीकरण" ("OAuth प्रमाणीकरण" नहीं) देखते हैं, तो यह प्रमाणीकरण के लिए OAuth का उपयोग करके एक समाधान है।


ओपेनआईडी कनेक्ट

OpenID 1.0 और OpenID 2.0 प्रमाणीकरण के लिए पुराने विनिर्देश हैं। जिन लोगों ने विशिष्टताओं को बनाया, वे उम्मीद करते थे कि लोग प्रमाणीकरण के लिए OpenID का उपयोग करेंगे। हालांकि, कुछ लोगों ने प्रमाणीकरण के लिए OAuth 2.0 का उपयोग करना शुरू कर दिया (प्राधिकरण के लिए नहीं) और OAuth प्रमाणीकरण तेजी से प्रबल हुआ है।

OpenID लोगों के दृष्टिकोण से, OAuth पर आधारित प्रमाणीकरण पर्याप्त सुरक्षित नहीं था, लेकिन उन्हें यह स्वीकार करना पड़ा कि लोग Outh को प्रमाणीकरण के लिए पसंद करते थे। नतीजतन, ओपनआईडी लोगों ने OAuth 2.0 के शीर्ष पर एक नया विनिर्देशन, ओपनआईडी कनेक्ट को परिभाषित करने का निर्णय लिया ।

हां, इसने लोगों को बहुत अधिक भ्रमित कर दिया है।


OAuth 2.0 और OpenID कनेक्ट की एक-वाक्य परिभाषा

OAuth 2.0 एक ऐसा ढांचा है, जहां सेवा का उपयोगकर्ता तृतीय-पक्ष एप्लिकेशन को सेवा में होस्ट किए गए डेटा को अपने क्रेडेंशियल्स (आईडी और पासवर्ड) को प्रकट किए बिना एक्सेस करने की अनुमति दे सकता है।

यहाँ छवि विवरण दर्ज करें

ओपनआईडी कनेक्ट OAuth 2.0 के शीर्ष पर एक फ्रेमवर्क है जहां एक तृतीय-पक्ष एप्लिकेशन उपयोगकर्ता की पहचान की जानकारी प्राप्त कर सकता है जो एक सेवा द्वारा प्रबंधित किया जाता है।

यहाँ छवि विवरण दर्ज करें

(क्षमा करें, ये परिभाषाएँ मेरी कंपनी के अवलोकन पृष्ठ के अंश हैं )


कार्यान्वयनकर्ताओं के दृष्टिकोण से परिभाषाएँ

प्रमाणीकरण एक अंतिम उपयोगकर्ता के विषय (= अद्वितीय पहचानकर्ता) को निर्धारित करने के लिए एक प्रक्रिया है। विषय निर्धारित करने के कई तरीके हैं। आईडी और पासवर्ड, उंगलियों के निशान, आईरिस मान्यता, आदि।

प्राधिकरण अनुरोध अनुमतियों और क्लाइंट एप्लिकेशन के साथ विषय को संबद्ध करने की एक प्रक्रिया है जो अनुमतियों का अनुरोध करता है। एक पहुंच टोकन एसोसिएशन का प्रतिनिधित्व करता है।


यह सभी देखें

  1. OAuth का फुल-स्क्रैच इम्प्लीमेन्ट और फाइंडिंग के बारे में ओपनआईडी कनेक्ट टॉक
  2. सभी OAuth 2.0 प्रवाह के आरेख और फिल्में
  3. सभी OpenID कनेक्ट फ़्लो के आरेख
  4. OAuth 2.0 के लिए सबसे सरल गाइड

13
उन लोगों के लिए जो OAuth पर आधारित प्रमाणीकरण पर्याप्त रूप से सुरक्षित नहीं थे , यह सोचकर , मुझे लगता है कि ये सामान्य नुकसान हैं
5

4
"प्राधिकरण प्रवाह में इसके पहले चरण के रूप में प्रमाणीकरण होता है। यही कारण है कि लोग अक्सर भ्रमित होते हैं।" सोना।
सुली

1
खैर मैं केवल दो आरेखों के बीच अंतर देख सकता हूं कि पहला "उपयोगकर्ता का डेटा" है और दूसरा "उपयोगकर्ता की पहचान" शामिल है, इसलिए हां यह भ्रामक है।
Joel_Blum
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.