Google एपीआई और अन्य वीडियो सेवा प्रदाताओं एपीआई के साथ खेलने के बाद मैंने प्रमाणीकरण के बारे में बहुत कुछ सीखा है। oAuth और AuthSub दो विधियां हैं जिनका उपयोग Google खाते में तृतीय पक्ष वेब अनुप्रयोगों को प्रमाणीकृत करने के लिए करता है।
प्रक्रिया पहली बार गन्दा लग सकती है, लेकिन एक बार जब आप इसे समझ लेते हैं, तो यह बहुत बुरा नहीं होता है। निम्न छवि AuthSub प्रक्रिया को दिखाती है।
- वेब अनुप्रयोग उपयोगकर्ता के Google सेवा का उपयोग करने की जरूरत है है, यह गूगल के प्राधिकरण प्रॉक्सी सेवा के लिए एक AuthSub कॉल करता है।
- प्राधिकरण सेवा एक एक्सेस अनुरोध पृष्ठ की सेवा करके प्रतिक्रिया देती है। यह Google- प्रबंधित पृष्ठ उपयोगकर्ता को उनकी Google सेवा तक पहुंच प्रदान करने/अस्वीकार करने के लिए संकेत देता है। उपयोगकर्ता को पहले अपने खाते में लॉग इन करने के लिए कहा जा सकता है।
- उपयोगकर्ता यह तय करता है कि वेब एप्लिकेशन तक पहुंच प्रदान या अस्वीकार करना है या नहीं। यदि उपयोगकर्ता पहुंच से इंकार कर देता है, तो उन्हें वेब एप्लिकेशन के बजाय Google पेज पर निर्देशित किया जाता है।
- यदि उपयोगकर्ता पहुंच प्रदान करता है, तो प्राधिकरण सेवा उपयोगकर्ता को वेब एप्लिकेशन पर वापस रीडायरेक्ट करती है। रीडायरेक्ट में एक उपयोग के लिए एक प्राधिकरण टोकन अच्छा होता है; इसे लंबे समय तक रहने वाले टोकन के लिए आदान-प्रदान किया जा सकता है।
- वेब एप्लिकेशन उपयोगकर्ता के एजेंट के रूप में कार्य करने के लिए प्राधिकरण टोकन का उपयोग करके अनुरोध के साथ Google सेवा से संपर्क करता है।
- यदि Google सेवा टोकन को पहचानती है, तो यह अनुरोधित डेटा प्रदान करती है।
http://code.google.com/apis/accounts/docs/AuthSub.html#AuthProcess
जब आपसे अनुरोध करते हैं प्रमाणीकृत करने के लिए किया जा और उसकी/उसके google खाते में उपयोगकर्ता के संकेत, वह पहले/वह अपने आवेदन की अनुमति देता है अपने अकाउंट में काम करना है, और अगर आपके डोमेन है Google के साथ पंजीकरण नहीं किया गया है, उपयोगकर्ता को एक बुरा लाल बॉक्स मिलेगा जो उन्हें सावधान रहने के लिए कह रहा है क्योंकि वे जिस ऐप तक पहुंचने वाले हैं, उनके साथ पंजीकृत नहीं है।
पुराने स्कूल यूज़रनेम और पासवर्ड रहे हैं पर इन विधियों (मेरी राय में) के बाद के बारे में फायदे:
- उपयोगकर्ता के लिए बढ़ी सुरक्षा: उपयोगकर्ता आप अपने उपयोगकर्ता नाम देने के लिए नहीं करना होगा और पासवर्ड, उन्हें Google में लॉग इन करना होगा और आपको एक एक्सेस टोकन मिलेगा जिसका उपयोग आप किसी भी एपीआई कॉल करने के लिए करेंगे। यदि उपयोगकर्ता चाहें तो उपयोगकर्ता आपके एप्लिकेशन के अंदर Google से पहुंच रद्द कर सकता है।
- प्रक्रिया उपयोगकर्ता को आश्वासन दे सकती है कि आपका ऐप "कानूनी" है। यदि किसी उपयोगकर्ता को लॉग इन करने और अपने ऐप की अनुमति देने के लिए Google के माध्यम से जाना है, तो यह अच्छा लगेगा कि आपका डोमेन Google के साथ पंजीकृत है या नहीं।
- टोकन को सत्र टोकन में प्रचारित किया जा सकता है: इसका मतलब है कि आपको Google उपयोगकर्ता खाते में प्रवेश का अनुरोध करने के लिए हर बार लॉग इन करने की आवश्यकता नहीं है, बस सत्र टोकन का उपयोग करें (आपको सुरक्षित रूप से कहीं बचाओ) और आप कर रहे हैं।
- एक बार जब आप प्रक्रिया को समझ लें तो उपयोगकर्ताओं को प्रमाणित करना काफी आसान है।
- (असत्यापित) यदि उपयोगकर्ता अपना पासवर्ड बदलता है, तो आपको सुरक्षा टोकन को अपडेट करने की आवश्यकता नहीं है।
- आखिरकार यदि आप ओथ का उपयोग करते हैं तो आप एक इंटरफ़ेस बना सकते हैं जो आपको अन्य वेब सेवाओं जैसे Vimeo से कनेक्ट करते समय आसानी से उपयोगकर्ताओं को प्रमाणित करने की अनुमति दे सकता है!
इन सभी के साथ मुझे लगता है कि आप अनुमान लगा सकते हैं कि उपयोगकर्ता नाम से कनेक्ट करने के लिए उपयोगकर्ता नाम और पासवर्ड (जो क्लाइंटलॉगिन करता है) का उपयोग करना बुरा विचार क्यों होगा। अन्य प्रमाणीकरण विधियां आपको एक ही चीज़ (अनुरोध का अनुरोध) करने और फायदे का एक समूह जोड़ने की अनुमति देती हैं।
AuthSub का उपयोग कर उपयोगकर्ताओं को प्रमाणित करने के तरीके पर कोड यहां पाया जा सकता है, यह बहुत अधिक प्लग एन प्ले है। बस $ _SESSION ['sessionToken'] को एक स्थायी स्थान पर डीबी जैसे सहेजने के लिए सुनिश्चित करें।
http://code.google.com/apis/youtube/2.0/developers_guide_php.html#AuthSub_for_Web_Applications