2010-08-18 15 views
13

मैंने इसके बारे में http://oauth.net/ पर थोड़ा सा पढ़ा है, यह स्पष्ट रूप से "संरक्षित डेटा को प्रकाशित और बातचीत करने का एक आसान तरीका" है।क्या कोई ओथ को समझा सकता है?

मुझे लगता है कि मुझे एक आरईएसटी वेब सेवा के माध्यम से एंड्रॉइड/आईफोन ऐप से डेटा तक पहुंचने का एक सुरक्षित तरीका प्रदान करने की ज़रूरत है, लेकिन मैं बिल्कुल ठीक से काम नहीं कर सकता।

तो, सीधे शब्दों में, यह वास्तव में क्या करना है और क्या कोई (वास्तव में) सरल इसके बारे में कार्रवाई मैं अनुसरण कर सकते हैं, खासकर ग # में कुछ है कि एक स्मार्टफोन app से पहुँचा जा सकता है को लागू करने में उदाहरण हैं करता है?

+1

यह अलग-अलग छोड़कर ओपनआईडी की तरह है। यह पोस्ट इसे अच्छी तरह से समझाता है: http://softwareas.com/oauth-openid-youre-barking-up-the-wrong-tree-if-you-think-theyre-the-same-thing –

+0

यदि कॉल OAuth "सरल "उन्हें HTTP मूल प्रमाणीकरण का प्रयास करना चाहिए। –

उत्तर

13
क्रेग Stuntz द्वारा प्रदान की लिंक से

:

ओपन आईडी आप कई साइटों के लिए एक लॉगिन देता है। प्रत्येक बार जब आपको ज़ूमर में लॉग इन करने की आवश्यकता होती है - ओपन आईडी का उपयोग करने वाली साइट - आपको अपनी ओपन आईडी साइट पर रीडायरेक्ट किया जाएगा जहां आप लॉगिन करेंगे, और फिर ज़ूमर पर वापस जाएं। ओएथ आपको एक वेबसाइट - उपभोक्ता - एक अन्य वेबसाइट - प्रदाता से अपने डेटा तक पहुंचने के लिए अधिकृत करने देता है। उदाहरण के लिए, आप एक प्रिंटिंग प्रदाता को अधिकृत करना चाहते हैं - इसे म्यू को कॉल करें - एक फोटो रिपॉजिटरी से अपनी तस्वीरों को पकड़ने के लिए - इसे फ़्लिकर कहें। म्यू आपको फ़्लिकर पर रीडायरेक्ट करेगा जो आपको पूछेगा, उदाहरण के लिए, "म्यू आपकी फ़्लिकर तस्वीरें डाउनलोड करना चाहता है। क्या यह अच्छा है? ", और फिर अपनी तस्वीरों को प्रिंट करने के लिए म्यू पर वापस जाएं।

DotNetOpenAuth ओपन आईडी और OAuth के लिए एक अच्छा सी # पुस्तकालय है।

13

OAuth वास्तविक डेटा संग्रहीत किए बिना लॉगिन डेटा रखने के लिए अनुप्रयोगों का एक वैकल्पिक तरीका है।

जब आप किसी पृष्ठ में लॉग इन करते हैं, तो आपके पास आमतौर पर उपयोगकर्ता नाम और व्यक्तिगत पासवर्ड या किसी अन्य प्रकार के लॉगिन प्रमाण-पत्र होते हैं। अब, यदि आप चाहते हैं कि कोई एप्लिकेशन उस लॉगिन पर सामान करने में सक्षम हो, तो आपको उस एप्लिकेशन को अपना मूल लॉगिन डेटा देना होगा। जिसका अर्थ है कि आप एप्लिकेशन में अपना उपयोगकर्ता नाम और अपना पासवर्ड दोनों दर्ज करते हैं। यह अब तक बुरा नहीं है, लेकिन बात यह है कि यदि आप उस एप्लिकेशन के माध्यम से लॉग इन रहना चाहते हैं, तो इसे आपके क्रेडेंशियल्स को स्टोर करने की आवश्यकता है। लेकिन वास्तविक पृष्ठ पर सही लॉगिन डेटा भेजने के लिए, इसे अपने मूल रूप में स्टोर करने की आवश्यकता है (बस कुछ एन्क्रिप्शन या कुछ के साथ)। इसलिए यदि कोई जानता है कि एप्लिकेशन में डेटा कैसे संग्रहीत किया जाता है, तो वे आपके मूल लॉगिन प्रमाण-पत्र निकाल सकते हैं।

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

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

तो ओएथ आपके वास्तविक लॉगिन डेटा की रक्षा करने का एक तरीका है। इसके अलावा इसमें कोई अन्य स्तर की सुरक्षा या कुछ भी शामिल नहीं है, यह केवल को अपने डेटा को सुरक्षित करने के लिए है।

+0

यह ओथ की एक शानदार व्याख्या है। मेरे जैसे डमीज़ के लिए मैंने पाया एक और अच्छा स्पष्टीकरण https://blog.varonis.com/introduction-to-oauth/ पर है – snark

संबंधित मुद्दे