यह दस्तावेज़ बताता है कि फ़ोन, टैबलेट और कंप्यूटर, Google के OAuth 2.0 एंडपॉइंट का इस्तेमाल करके, तो YouTube Data API का इस्तेमाल किया जा सकेगा.
OAuth 2.0 की मदद से, उपयोगकर्ता किसी ऐप्लिकेशन के साथ चुनिंदा डेटा शेयर कर सकते हैं. इस दौरान उपयोगकर्ता नाम, पासवर्ड, और अन्य जानकारी को निजी रखने के लिए. उदाहरण के लिए, कोई ऐप्लिकेशन अनुमति पाने के लिए OAuth 2.0 का इस्तेमाल कर सकता है का इस्तेमाल करें.
इंस्टॉल किए गए ऐप्लिकेशन, अलग-अलग डिवाइसों के हिसाब से बांटे जाते हैं. इसके लिए, माना जाता है कि ये ऐप्लिकेशन राज़ नहीं रख सकते. वे Google API को तब ऐक्सेस कर सकते हैं, जब उपयोगकर्ता ऐप्लिकेशन में मौजूद हो या जब ऐप बैकग्राउंड में चल रहा है.
अनुमति देने का यह फ़्लो, इसके लिए इस्तेमाल किए जाने वाले फ़्लो जैसा ही है वेब सर्वर ऐप्लिकेशन के मालिक हैं. मुख्य अंतर यह है इंस्टॉल किए गए ऐप्लिकेशन को सिस्टम ब्राउज़र खोलना होगा और हैंडल करने के लिए लोकल रीडायरेक्ट यूआरआई उपलब्ध कराना होगा Google के ऑथराइज़ेशन सर्वर से मिले रिस्पॉन्स का पता लगाता है.
विकल्प
मोबाइल ऐप्लिकेशन के लिए, हो सकता है कि आप 'Google साइन इन' का इस्तेमाल इन कामों के लिए करना चाहें Android या iOS. Google साइन इन क्लाइंट लाइब्रेरी की मदद से पुष्टि करने और उपयोगकर्ता की अनुमति लेने की प्रक्रिया को मैनेज किया जाता है. साथ ही, इन तरीकों से यहां बताए गए निचले लेवल के प्रोटोकॉल से लागू करें.
उन डिवाइस पर चल रहे ऐप्लिकेशन के लिए जो सिस्टम ब्राउज़र के साथ काम नहीं करते या जिनमें सीमित इनपुट होता है जैसी क्षमताएँ, जैसे टीवी, गेम कंसोल, कैमरा, या प्रिंटर, देखें टीवी और डिवाइस या टीवी और सीमित इनपुट डिवाइसों पर साइन-इन करें.
लाइब्रेरी और सैंपल
OAuth 2.0 फ़्लो को लागू करने में आपकी मदद करने के लिए, हम इन लाइब्रेरी और सैंपल का सुझाव देते हैं इस दस्तावेज़ में बताया गया है:
- Android के लिए AppAuth लाइब्रेरी
- iOS के लिए AppAuth लाइब्रेरी
- ऐप्लिकेशन के लिए OAuth: Windows सैंपल
ज़रूरी शर्तें
अपने प्रोजेक्ट के लिए एपीआई चालू करना
अगर कोई ऐप्लिकेशन, Google API को कॉल करता है, तो उसे API Console.
अपने प्रोजेक्ट के लिए एपीआई चालू करने के लिए:
- Open the API Library Google API Console.
- If prompted, select a project, or create a new one.
- YouTube Data API को ढूंढने और चालू करने के लिए, लाइब्रेरी पेज का इस्तेमाल करें. ऐसे कोई दूसरे एपीआई ढूंढें जिनका इस्तेमाल आपका ऐप्लिकेशन करेगा और उन्हें भी चालू करें.
अनुमति देने वाले क्रेडेंशियल बनाएं
Google API को ऐक्सेस करने के लिए OAuth 2.0 का इस्तेमाल करने वाले किसी भी ऐप्लिकेशन के पास, अनुमति देने वाले क्रेडेंशियल होने चाहिए जो Google के OAuth 2.0 सर्वर पर ऐप्लिकेशन की पहचान करती है. यहां दिए गए चरण, अपने प्रोजेक्ट के लिए क्रेडेंशियल बनाएं. इसके बाद, आपके ऐप्लिकेशन एपीआई ऐक्सेस करने के लिए क्रेडेंशियल का इस्तेमाल कर सकते हैं जिसे आपने उस प्रोजेक्ट के लिए चालू किया है.
- Go to the Credentials page.
- क्रेडेंशियल बनाएं > OAuth क्लाइंट आईडी.
- यहां दिए गए सेक्शन में, Google के क्लाइंट टाइप और रीडायरेक्ट करने के तरीकों के बारे में बताया गया है ऑथराइज़ेशन सर्वर काम करता है. अपने खाते के लिए सुझाया गया क्लाइंट टाइप चुनें ऐप्लिकेशन, अपने OAuth क्लाइंट को नाम दें, और फ़ॉर्म में अन्य फ़ील्ड को उचित.
Android
- Android ऐप्लिकेशन का टाइप चुनें.
- OAuth क्लाइंट के लिए कोई नाम डालें. यह नाम आपके प्रोजेक्ट के Credentials page की मदद से क्लाइंट की पहचान की जा सकती है.
- अपने Android ऐप्लिकेशन का पैकेज नाम डालें. यह वैल्यू इसमें तय की गई है
<manifest>
एलिमेंट काpackage
एट्रिब्यूट शामिल नहीं करने चाहिए. - ऐप्लिकेशन डिस्ट्रिब्यूशन का SHA-1 साइनिंग सर्टिफ़िकेट फ़िंगरप्रिंट डालें.
- अगर आपका ऐप्लिकेशन Google Play की ऐप्लिकेशन साइनिंग, SHA-1 को कॉपी करें फ़िंगरप्रिंट की मदद से, Play Console के ऐप्लिकेशन साइनिंग पेज से साइन इन करें.
- अगर अपने कीस्टोर और साइनिंग पासकोड खुद मैनेज करने हैं, तो keytool यूटिलिटी का इस्तेमाल करें
इसमें Java का इस्तेमाल करके, सर्टिफ़िकेट की जानकारी को ऐसे फ़ॉर्मैट में प्रिंट किया जा सकता है जिसे कोई भी व्यक्ति आसानी से पढ़ सके. कॉपी करें
इसके
Certificate fingerprints
सेक्शन मेंSHA1
वैल्यू keytool आउटपुट. यहां जाएं: इसमें अपने क्लाइंट की पुष्टि करना ज़्यादा जानकारी के लिए, Android के दस्तावेज़ के लिए Google API.
- (ज़रूरी नहीं) अपने Android के मालिकाना हक की पुष्टि करें का इस्तेमाल करें.
- बनाएं पर क्लिक करें.
iOS
- iOS ऐप्लिकेशन टाइप चुनें.
- OAuth क्लाइंट के लिए कोई नाम डालें. यह नाम आपके प्रोजेक्ट के Credentials page की मदद से क्लाइंट की पहचान की जा सकती है.
- अपने ऐप्लिकेशन के लिए बंडल आइडेंटिफ़ायर डालें. बंडल आईडी, CFBundleIdentifier कुंजी जोड़ना है. (info.plist). वैल्यू को सामान्य रूप से सामान्य पैनल या पैनल की क्षमताओं वाले पैनल Xcode प्रोजेक्ट एडिटर. बंडल आईडी, इसके सामान्य जानकारी सेक्शन में भी दिखाया जाता है ऐप्लिकेशन के लिए ऐप्लिकेशन की जानकारी वाले पेज Apple की App Store Connect साइट.
- (ज़रूरी नहीं)
अगर आपका ऐप्लिकेशन Apple के App Store में पब्लिश हुआ है, तो उसका App Store आईडी डालें. स्टोर आईडी यह है हर Apple App Store यूआरएल में शामिल एक न्यूमेरिक स्ट्रिंग होती है.
- खोलें Apple App Store ऐप्लिकेशन iOS या iPadOS डिवाइस पर.
- अपना ऐप्लिकेशन खोजें.
- शेयर बटन (वर्ग और तीर ऊपर प्रतीक) का चयन करें.
- लिंक कॉपी करें चुनें.
- लिंक को टेक्स्ट एडिटर में चिपकाएं. ऐप स्टोर आईडी, यूआरएल का आखिरी हिस्सा होता है.
उदाहरण:
https://apps.apple.com/app/google/id284815942
- (ज़रूरी नहीं)
अपना टीम आईडी डालें. यहां जाएं: अपना टीम आईडी ढूंढें इस बारे में ज़्यादा जानने के लिए, Apple Developer Account के दस्तावेज़ पढ़ें.
- बनाएं पर क्लिक करें.
UWP
- Universal Windows Platform ऐप्लिकेशन टाइप चुनें.
- OAuth क्लाइंट के लिए कोई नाम डालें. यह नाम आपके प्रोजेक्ट के Credentials page की मदद से क्लाइंट की पहचान की जा सकती है.
- अपने ऐप्लिकेशन का 12 वर्णों का Microsoft Store आईडी डालें. आपको यह वैल्यू यहां दिखेगी Microsoft Partner Center पूरी तरह कैसे ऐप्लिकेशन की पहचान पेज पर जाएं.
- बनाएं पर क्लिक करें.
यूडब्ल्यूपी ऐप्लिकेशन के लिए, कस्टम यूआरआई स्कीम 39 वर्णों से ज़्यादा लंबी नहीं हो सकती.
कस्टम यूआरआई स्कीम (Android, iOS, UWP)
कस्टम यूआरआई स्कीम, डीपलिंक करने का एक तरीका है. इसमें आपके ऐप्लिकेशन को खोलने के लिए, कस्टम-तय की गई स्कीम का इस्तेमाल किया जाता है.
Android पर कस्टम यूआरआई स्कीम का इस्तेमाल करने के विकल्पइसका इस्तेमाल करें Android SDK टूल के लिए 'Google साइन-इन' सुविधा यह आपके ऐप्लिकेशन को सीधे OAuth 2.0 रिस्पॉन्स देता है. इससे, रीडायरेक्ट यूआरआई.
Android SDK टूल के लिए 'Google साइन-इन' पर माइग्रेट करने का तरीका
अगर फ़िलहाल, Android पर OAuth इंटिग्रेशन के लिए कस्टम स्कीम का इस्तेमाल किया जा रहा है, तो आपको Google साइन-इन के सुझाए गए तरीके का इस्तेमाल करने पर माइग्रेट करने के लिए, नीचे दी गई कार्रवाइयों को पूरा करें Android SDK टूल:
- 'Google साइन-इन' SDK टूल का इस्तेमाल करने के लिए, अपना कोड अपडेट करें.
- Google API कंसोल में कस्टम स्कीम के लिए सहायता बंद करें.
'Google साइन-इन Android SDK' पर माइग्रेट करने के लिए, यह तरीका अपनाएं:
-
'Google साइन-इन' Android SDK का इस्तेमाल करने के लिए, अपना कोड अपडेट करना:
-
अपने कोड की जांच करके पता लगाएं कि आप कहां हैं
Google के OAuth 2.0 सर्वर पर अनुरोध भेजना; अगर किसी कस्टम स्कीम का इस्तेमाल किया जा रहा है, तो आपका अनुरोध कुछ ऐसा दिखेगा:
https://accounts.google.com/o/oauth2/v2/auth? scope=<SCOPES>& response_type=code& &state=<STATE>& redirect_uri=com.example.app:/oauth2redirect& client_id=<CLIENT_ID>
com.example.app:/oauth2redirect
, इसमें कस्टम स्कीम रीडायरेक्ट यूआरआई है ऊपर उदाहरण दिया गया है. ज़्यादा जानकारी के लिए, फ़ॉर्मैट के बारे में ज़्यादा जानकारी के लिए,redirect_uri
पैरामीटर की परिभाषा कस्टम यूआरआई स्कीम की वैल्यू का इस्तेमाल करके. -
उन
scope
औरclient_id
अनुरोध पैरामीटर को ध्यान में रखें जो आपको 'Google साइन-इन' SDK टूल को कॉन्फ़िगर करना होगा. -
फ़ॉलो करें
अपने Android ऐप्लिकेशन में 'Google साइन इन' को इंटिग्रेट करना शुरू करें
SDK टूल सेट अप करने के निर्देश. आप इसे छोड़ सकते हैं
फिर से इस्तेमाल करने की तरह अपने बैकएंड सर्वर के OAuth 2.0 क्लाइंट आईडी का चरण पाएं
पिछले चरण में मिला
client_id
. -
फ़ॉलो करें
सर्वर-साइड एपीआई का ऐक्सेस चालू करना
निर्देश. इसमें, ये चरण शामिल हैं:
-
इस यूआरएल के लिए पुष्टि करने वाला कोड वापस पाने के लिए,
getServerAuthCode
तरीके का इस्तेमाल करें उन दायरों के बारे में बताएं जिनके लिए आप अनुमति का अनुरोध कर रहे हैं. - अपने ऐप्लिकेशन के बैकएंड पर ऑथराइज़ेशन कोड भेजें, ताकि ऐक्सेस मिल सके और रीफ्रेश करें टोकन.
- उपयोगकर्ता की ओर से Google API को कॉल करने के लिए, वापस मिले ऐक्सेस टोकन का इस्तेमाल करें.
-
इस यूआरएल के लिए पुष्टि करने वाला कोड वापस पाने के लिए,
-
अपने कोड की जांच करके पता लगाएं कि आप कहां हैं
Google के OAuth 2.0 सर्वर पर अनुरोध भेजना; अगर किसी कस्टम स्कीम का इस्तेमाल किया जा रहा है, तो आपका अनुरोध कुछ ऐसा दिखेगा:
-
Google API (एपीआई) कंसोल में कस्टम स्कीम के लिए सहायता बंद करें:
- अपने OAuth 2.0 क्रेडेंशियल लिस्ट करें और अपना Android क्लाइंट चुनें.
- बेहतर सेटिंग सेक्शन पर जाएं. इसके बाद, कस्टम यूआरआई स्कीम चालू करें चेकबॉक्स चुनें और सेव करें पर क्लिक करें कस्टम यूआरआई स्कीम इस्तेमाल करने की सुविधा बंद करें.
कस्टम यूआरआई स्कीम चालू करना
अगर सुझाया गया विकल्प आपके लिए काम नहीं करता है, तो आप अपने Android क्लाइंट के लिए, नीचे दिए गए निर्देशों का पालन करें:- अपने OAuth 2.0 क्रेडेंशियल सूची और अपना Android क्लाइंट चुनें.
- बेहतर सेटिंग सेक्शन पर जाएं. इसके बाद, कस्टम यूआरआई स्कीम चालू करें चेकबॉक्स चुनें और चालू करने के लिए सेव करें पर क्लिक करें कस्टम यूआरआई स्कीम से जुड़ी सहायता.
इसका इस्तेमाल करें Chrome Identity API यह आपके ऐप्लिकेशन को सीधे OAuth 2.0 रिस्पॉन्स देता है. इससे, रीडायरेक्ट यूआरआई.
ऐप्लिकेशन के मालिकाना हक की पुष्टि करना (Android, Chrome)
ऐप्लिकेशन प्रतिरूपण के जोखिम को कम करने के लिए आप अपने ऐप्लिकेशन के स्वामित्व की पुष्टि कर सकते हैं.
Android
पुष्टि की प्रक्रिया पूरी करने के लिए, अपने Google Play डेवलपर खाते का इस्तेमाल किया जा सकता है अगर आपके पास कोई है और आपका ऐप्लिकेशन Google Play Console से हटा दिया जाएगा. नीचे दिए गए पुष्टि की प्रक्रिया को पूरा करने के लिए, ये शर्तें पूरी होनी चाहिए:
- आपके पास Google Play Console में, Google Play Console में रजिस्टर किया गया एक ऐसा ऐप्लिकेशन होना चाहिए आप जिस Android OAuth क्लाइंट हैं उसके रूप में पैकेज नाम और SHA-1 साइनिंग प्रमाणपत्र फ़िंगरप्रिंट इसके लिए, पुष्टि की प्रक्रिया पूरी करें.
- आपके पास एडमिन की अनुमति होनी चाहिए Google Play Console पर जाएं. ज़्यादा जानें Google Play Console में ऐक्सेस मैनेजमेंट के बारे में जानकारी.
Android क्लाइंट के ऐप्लिकेशन के मालिकाना हक की पुष्टि करें सेक्शन में, पुष्टि की प्रक्रिया पूरी करने के लिए, मालिकाना हक की पुष्टि करें बटन.
पुष्टि की प्रक्रिया पूरी होने के बाद, इसकी पुष्टि करने के लिए एक सूचना दिखाई जाएगी दो चरणों में पुष्टि की है. ऐसा न करने पर, गड़बड़ी का मैसेज दिखेगा.
पुष्टि न हो पाने की समस्या को ठीक करने के लिए, कृपया नीचे दिया गया तरीका अपनाएं:
- पक्का करें कि जिस ऐप्लिकेशन की पुष्टि की जा रही है वह Google Play Console पर रजिस्टर किया गया ऐप्लिकेशन है.
- पक्का करें कि आपके पास Google Play Console पर जाएं.
Chrome
पुष्टि की प्रक्रिया पूरी करने के लिए, आपको अपने Chrome वेब स्टोर डेवलपर खाते का इस्तेमाल करना होगा. पुष्टि की प्रक्रिया को पूरा करने के लिए, यहां दी गई शर्तें पूरी करना ज़रूरी है:
- आपके पास Chrome वेब स्टोर डेवलपर डैशबोर्ड उसी आइटम आईडी का इस्तेमाल करें जिससे Chrome एक्सटेंशन OAuth क्लाइंट को पूरा किया जा रहा है पुष्टि करने के लिए.
- Chrome वेब स्टोर आइटम के लिए आपको प्रकाशक होना चाहिए. ज़्यादा जानें 'Chrome वेब स्टोर डेवलपर डैशबोर्ड' में ऐक्सेस मैनेजमेंट के बारे में जानकारी देखें.
Chrome एक्सटेंशन क्लाइंट के ऐप्लिकेशन के मालिकाना हक की पुष्टि करें सेक्शन में, क्लिक करें पुष्टि की प्रक्रिया पूरी करने के लिए, मालिकाना हक की पुष्टि करें बटन.
ध्यान दें: कृपया पुष्टि की प्रक्रिया पूरी करने से पहले कुछ मिनट इंतज़ार करें आपके खाते का ऐक्सेस दे रहा है.
पुष्टि की प्रक्रिया पूरी होने के बाद, इसकी पुष्टि करने के लिए एक सूचना दिखाई जाएगी दो चरणों में पुष्टि की है. ऐसा न करने पर, गड़बड़ी का मैसेज दिखेगा.
पुष्टि न हो पाने की समस्या को ठीक करने के लिए, कृपया नीचे दिया गया तरीका अपनाएं:
- पक्का करें कि Chrome वेब स्टोर डेवलपर डैशबोर्ड में एक पंजीकृत आइटम मौजूद है Chrome एक्सटेंशन OAuth क्लाइंट के आइटम आईडी से मेल खाना चाहिए, जिसके लिए आप पुष्टि कर रहे हैं.
- पक्का करें कि आप ऐप्लिकेशन के पब्लिशर हैं. इसका मतलब है कि आपको निजी पब्लिशर होना चाहिए या ऐप्लिकेशन के ग्रुप पब्लिशर के सदस्य ने किया हो. ज़्यादा जानें 'Chrome वेब स्टोर डेवलपर डैशबोर्ड' में ऐक्सेस मैनेजमेंट के बारे में जानकारी देखें.
- अगर आपने अभी-अभी ग्रुप पब्लिशर की सूची अपडेट की है, तो पुष्टि करें कि आपने ग्रुप पब्लिशर की सदस्यता ली हो सूची को Chrome वेब स्टोर डेवलपर डैशबोर्ड में सिंक किया जाता है. ज़्यादा जानें पब्लिशर की सदस्यता सूची को सिंक करने के बारे में जानकारी.
लूपबैक आईपी पता (macOS, Linux, Windows डेस्कटॉप)
इस URL का उपयोग करके प्राधिकरण कोड प्राप्त करने के लिए, आपका ऐप्लिकेशन स्थानीय वेब सर्वर पर उपलब्ध है. ऐसा कई प्लैटफ़ॉर्म पर मुमकिन है, लेकिन सभी पर नहीं. हालांकि, अगर आपका प्लैटफ़ॉर्म यह वर्शन काम करता है, तो यह ऑथराइज़ेशन कोड पाने के लिए सुझाया गया तरीका है.
आपके ऐप्लिकेशन को अनुमति मिलने पर, सबसे सही तरीके से इस्तेमाल करने के लिए उसे इस तारीख तक जवाब देना चाहिए: ऐसा एचटीएमएल पेज दिखाना जो उपयोगकर्ता को ब्राउज़र बंद करने और आपके ऐप्लिकेशन पर वापस जाने का निर्देश देता हो.
इस्तेमाल के लिए सुझाया गया तरीका | macOS, Linux, और Windows डेस्कटॉप (लेकिन Universal Windows Platform नहीं) ऐप्लिकेशन |
फ़ॉर्म की वैल्यू | ऐप्लिकेशन के टाइप को डेस्कटॉप ऐप्लिकेशन पर सेट करें. |
मैन्युअल तरीके से कॉपी करें/चिपकाएं
ऐक्सेस के दायरों की पहचान करना
स्कोप की वजह से आपका ऐप्लिकेशन, सिर्फ़ उन संसाधनों के ऐक्सेस का अनुरोध कर सकता है जिनकी उसे ज़रूरत है. साथ ही, ताकि उपयोगकर्ता आपके ऐप्लिकेशन को दिए जाने वाले ऐक्सेस की मात्रा को कंट्रोल कर सकें. इसलिए, यहां हो सकता है कि अनुरोध किए गए दायरों की संख्या और उपयोगकर्ता की सहमति लेना न भूलें.
OAuth 2.0 ऑथराइज़ेशन लागू करने से पहले, हमारा सुझाव है कि आप स्कोप की पहचान कर लें यह जानकारी ऐक्सेस करने के लिए, आपके ऐप्लिकेशन को अनुमति की ज़रूरत होगी.
YouTube Data API v3 इन दायरों का इस्तेमाल करता है:
बंदूक पर लगने वाली दूरबीन | |
---|---|
https://www.googleapis.com/auth/youtube | अपना YouTube खाता मैनेज करें |
https://www.googleapis.com/auth/youtube.channel-memberships.creator | अपने चैनल के मौजूदा सक्रिय सदस्यों की सूची और उनका मौजूदा लेवल देखें. यह भी देखें कि वे चैनल के सदस्य कब बने |
https://www.googleapis.com/auth/youtube.force-ssl | अपने YouTube वीडियो की रेटिंग, टिप्पणियां और कैप्शन देखें, उनमें बदलाव करें और उन्हें हमेशा के लिए मिटाएं |
https://www.googleapis.com/auth/youtube.readonly | अपना YouTube खाता देखें |
https://www.googleapis.com/auth/youtube.upload | अपने YouTube वीडियो मैनेज करें |
https://www.googleapis.com/auth/youtubepartner | YouTube पर अपनी परिसंपत्ति तथा संबंधित सामग्री देखें व प्रबंधित करें |
https://www.googleapis.com/auth/youtubepartner-channel-audit | किसी YouTube भागीदार की ऑडिट प्रक्रिया के दौरान उससे प्रासंगिक अपने YouTube चैनल की निजी जानकारी देखें |
OAuth 2.0 API के दायरे दस्तावेज़ में, उन दायरों की सूची जिनका इस्तेमाल Google API को ऐक्सेस करने के लिए किया जा सकता है.
OAuth 2.0 ऐक्सेस टोकन पाना
नीचे दिए गए चरण दिखाते हैं कि आपका ऐप्लिकेशन, एपीआई का इस्तेमाल करने के लिए Google के OAuth 2.0 सर्वर के साथ कैसे इंटरैक्ट करता है उपयोगकर्ता की ओर से एपीआई अनुरोध करने के लिए, उपयोगकर्ता की सहमति. आपके ऐप्लिकेशन में वह होना चाहिए उपयोगकर्ता की अनुमति की ज़रूरत होती है.
पहला चरण: कोड की पुष्टि करने वाला प्रोग्राम और चैलेंज जनरेट करना
Google, कोड एक्सचेंज के लिए प्रूफ़ कुंजी के साथ काम करता है (PKCE) प्रोटोकॉल का इस्तेमाल करके, इंस्टॉल किए गए ऐप्लिकेशन के फ़्लो को ज़्यादा सुरक्षित बनाएं. प्रत्येक अनुमति देने का अनुरोध और उसकी ट्रांसफ़ॉर्म की गई वैल्यू, जिसे "code_Challenge" कहा जाता है, ऑथराइज़ेशन कोड पाने के लिए.
कोड की पुष्टि करने वाला प्रोग्राम बनाएं
code_verifier
, हाई-एंट्रॉपी क्रिप्टोग्राफ़िक रैंडम स्ट्रिंग है, जो गैर-रिज़र्व्ड का इस्तेमाल करती है
[A-Z] / [a-z] / [0-9] / "-" वर्ण / "." / "_" / "~", जिसमें कम से कम 43 वर्ण हों
और ज़्यादा से ज़्यादा 128 वर्ण इस्तेमाल किए जा सकते हैं.
कोड की पुष्टि करने वाले डिवाइस में इतनी एंट्रॉपी होनी चाहिए कि उसमें वैल्यू का अनुमान न लगाया जा सके.
कोड चैलेंज बनाएं
कोड चैलेंज बनाने के दो तरीके इस्तेमाल किए जा सकते हैं.
कोड चैलेंज जनरेट करने के तरीके | |
---|---|
S256 (सुझाया गया) | कोड चैलेंज, कोड के Base64URL (बिना पैडिंग के) SHA256 हैश है
पुष्टि करने वाला.
|
सादा | कोड चैलेंज और ऊपर जनरेट किए गए कोड की पुष्टि करने वाले कोड की वैल्यू, दोनों एक ही हैं.
|
दूसरा चरण: Google के OAuth 2.0 सर्वर पर अनुरोध भेजना
उपयोगकर्ता प्राधिकरण प्राप्त करने के लिए, इस पर Google के प्राधिकरण सर्वर को एक अनुरोध भेजें
https://accounts.google.com/o/oauth2/v2/auth
. यह एंडपॉइंट ऐक्टिव सेशन लुकअप,
उपयोगकर्ता की पुष्टि करता है और उपयोगकर्ता की सहमति लेता है. एंडपॉइंट को सिर्फ़ एसएसएल पर ऐक्सेस किया जा सकता है और यह
HTTP (गैर-एसएसएल) कनेक्शन अस्वीकार करती है.
ऑथराइज़ेशन सर्वर, इंस्टॉल किए गए इन क्वेरी स्ट्रिंग पैरामीटर के साथ काम करता है ऐप्लिकेशन:
पैरामीटर | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
client_id |
ज़रूरी है
आपके ऐप्लिकेशन का क्लाइंट आईडी. आपको यह वैल्यू यहां दिखेगी API Consoleअभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है Credentials page. |
||||||||||||||||
redirect_uri |
ज़रूरी है
यह तय करता है कि Google की अनुमति देने वाला सर्वर आपके ऐप्लिकेशन को जवाब कैसे भेजता है. यहां हैं इंस्टॉल किए गए ऐप्स के लिए कई रीडायरेक्ट विकल्प उपलब्ध हैं, और आपको रीडायरेक्ट करने के किसी खास तरीके के साथ अनुमति देने के क्रेडेंशियल ध्यान दें. वैल्यू, OAuth 2.0 के लिए किसी एक आधिकारिक रीडायरेक्ट यूआरआई से एग्ज़ैक्ट मैच होनी चाहिए
जिसे आपने अपने क्लाइंट के
API Consoleअभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Credentials page. अगर यह मान किसी
आधिकारिक यूआरआई, आपको नीचे दी गई टेबल में, कन्वर्ज़न ट्रैकिंग के लिए
|
||||||||||||||||
response_type |
ज़रूरी है
इससे यह तय होता है कि Google OAuth 2.0 एंडपॉइंट, ऑथराइज़ेशन कोड दिखाता है या नहीं. इंस्टॉल किए गए ऐप्लिकेशन के लिए पैरामीटर मान को |
||||||||||||||||
scope |
ज़रूरी है
ऐप्लिकेशन स्पेस-डीलिमिटेड दायरों की सूची, जो उन संसाधनों की पहचान करती है जिन्हें आपका ऐप्लिकेशन, का ऐक्सेस दिया गया है. ये वैल्यू उस स्क्रीन के बारे में बताती हैं जिसे Google, उपयोगकर्ता. स्कोप की वजह से आपका ऐप्लिकेशन सिर्फ़ उन संसाधनों का ऐक्सेस मांग सकता है जिनकी उसे ज़रूरत है साथ ही, उपयोगकर्ता इस बात को भी कंट्रोल कर सकते हैं कि वे का इस्तेमाल करें. इसलिए, अनुरोध किए गए स्कोप की संख्या के बीच एक उलटा संबंध होता है उपयोगकर्ता की सहमति लेने की संभावना को भी बढ़ा देता है. YouTube Data API v3 इन दायरों का इस्तेमाल करता है:
OAuth 2.0 API के दायरे दस्तावेज़, उन दायरों की पूरी सूची जिनका इस्तेमाल Google API को ऐक्सेस करने के लिए किया जा सकता है. |
||||||||||||||||
code_challenge |
सुझाया गया
कोड में बदले गए |
||||||||||||||||
code_challenge_method |
सुझाया गया
इससे पता चलता है कि |
||||||||||||||||
state |
सुझाया गया
ऐसा कोई भी स्ट्रिंग मान तय करता है, जिसका इस्तेमाल आपका ऐप्लिकेशन आपके
की अनुमति का अनुरोध और अनुमति देने वाले सर्वर का जवाब.
सर्वर वही वैल्यू दिखाता है जो आपने इस पैरामीटर का इस्तेमाल कई कामों के लिए किया जा सकता है, जैसे कि उपयोगकर्ता को
आपके आवेदन में सही संसाधन, नॉन्स भेजना, और क्रॉस-साइट अनुरोध को कम करना
जालसाज़ी. आपके |
||||||||||||||||
login_hint |
ज़रूरी नहीं
अगर आपके ऐप्लिकेशन को पता है कि कौनसा उपयोगकर्ता प्रमाणित करने की कोशिश कर रहा है, तो वह इस पैरामीटर का इस्तेमाल कर सकता है का इस्तेमाल करें. सर्वर, इस प्रॉम्प्ट के लिए साइन-इन फ़ॉर्म में ईमेल फ़ील्ड को पहले से भरकर या सही मल्टी-लॉगिन सेशन चुनना होगा. पैरामीटर वैल्यू को किसी ईमेल पते या |
अनुमति देने वाले यूआरएल का सैंपल
नीचे दिए गए टैब अलग-अलग रीडायरेक्ट यूआरआई विकल्पों के लिए, अनुमति देने वाले सैंपल यूआरएल दिखाते हैं.
हर यूआरएल एक ऐसे स्कोप के ऐक्सेस का अनुरोध करता है जो उपयोगकर्ता की YouTube डेटा.redirect_uri
पैरामीटर की वैल्यू को छोड़कर, बाकी सभी यूआरएल एक जैसे हैं. यूआरएल
इसमें ज़रूरी response_type
और client_id
पैरामीटर भी शामिल हैं
वैकल्पिक state
पैरामीटर के रूप में. हर यूआरएल में इनके लिए लाइन ब्रेक और स्पेस शामिल होते हैं
रीडबिलिटी.
कस्टम यूआरआई स्कीम
https://accounts.google.com/o/oauth2/v2/auth? scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fyoutube.force-ssl& response_type=code& state=security_token%3D138r5719ru3e1%26url%3Dhttps%3A%2F%2Foauth2.example.com%2Ftoken& redirect_uri=com.example.app%3A/oauth2redirect& client_id=client_id
लूपबैक आईपी पता
https://accounts.google.com/o/oauth2/v2/auth? scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fyoutube.force-ssl& response_type=code& state=security_token%3D138r5719ru3e1%26url%3Dhttps%3A%2F%2Foauth2.example.com%2Ftoken& redirect_uri=http%3A//127.0.0.1%3A9004& client_id=client_id
तीसरा चरण: Google, उपयोगकर्ता से सहमति लेने का अनुरोध करता है
इस चरण में, उपयोगकर्ता यह तय करता है कि आपके ऐप्लिकेशन को अनुरोध किया गया ऐक्सेस देना है या नहीं. इस पर इस स्टेज में, Google एक सहमति विंडो दिखाता है. इसमें आपके ऐप्लिकेशन का नाम और Google API दिखता है ऐसी सेवाएं जिन्हें वह उपयोगकर्ता के ऑथराइज़ेशन क्रेडेंशियल के साथ ऐक्सेस करने की अनुमति का अनुरोध कर रहा है और दिए जाने वाले ऐक्सेस के दायरों की खास जानकारी. कॉन्टेंट बनाने इसके बाद उपयोगकर्ता, आपके ऐप्लिकेशन के अनुरोध किए गए एक या उससे ज़्यादा दायरों का ऐक्सेस देने की सहमति दे सकता है या अनुरोध अस्वीकार कर दो.
आपके आवेदन को इस चरण में कुछ भी करने की आवश्यकता नहीं है क्योंकि वह से प्रतिक्रिया की प्रतीक्षा करता है Google के OAuth 2.0 सर्वर से पता चलता है कि कोई ऐक्सेस दिया गया था या नहीं. उस जवाब के बारे में का पालन करने के लिए नीचे दिया गया तरीका अपनाएं.
गड़बड़ियां
Google के OAuth 2.0 ऑथराइज़ेशन एंडपॉइंट पर किए जाने वाले अनुरोधों पर, उपयोगकर्ताओं को गड़बड़ी के मैसेज दिख सकते हैं करने के लिए कहा जाता है. सामान्य गड़बड़ियों के कोड और सुझाए गए समाधान नीचे दिए गए हैं.
admin_policy_enforced
Google खाता, नीचे बताई गई नीतियों की वजह से एक या एक से ज़्यादा दायरों को अनुमति नहीं दे सकता अपने Google Workspace एडमिन से संपर्क करना होगा. Google Workspace एडमिन का सहायता लेख पढ़ें यह कंट्रोल करना कि किस तीसरे पक्ष और इंटरनल ऐप्लिकेशन, Google Workspace का डेटा ऐक्सेस करते हैं ताकि इस बारे में ज़्यादा जानकारी मिल सके कि कोई एडमिन, सभी दायरों या संवेदनशील जानकारी के ऐक्सेस पर कैसे पाबंदी लगा सकता है और आपके OAuth क्लाइंट आईडी का ऐक्सेस साफ़ तौर पर मिलने तक, दायरों को सीमित किया जा सकता है.
disallowed_useragent
ऑथराइज़ेशन एंडपॉइंट किसी एम्बेड किए गए उपयोगकर्ता-एजेंट के अंदर दिखाया जाता है, जिसे Google के पास अनुमति नहीं होती OAuth 2.0 की नीतियां.
Android
अनुमति देने के अनुरोध खोलते समय, Android डेवलपर को गड़बड़ी का यह मैसेज दिख सकता है
android.webkit.WebView
.
डेवलपर को इसके बजाय, इन Android लाइब्रेरी का इस्तेमाल करना चाहिए
Android के लिए Google साइन-इन या Notebook Foundation के लिए
Android के लिए AppAuth.
वेब डेवलपर को यह गड़बड़ी तब दिख सकती है, जब कोई Android ऐप्लिकेशन एम्बेड किया गया उपयोगकर्ता-एजेंट और उपयोगकर्ता, इससे Google के OAuth 2.0 ऑथराइज़ेशन एंडपॉइंट पर नेविगेट करता है आपकी साइट. डेवलपर को सामान्य लिंक को ऑपरेटिंग सिस्टम, जिसमें दोनों शामिल हैं Android ऐप्लिकेशन के लिंक हैंडलर या डिफ़ॉल्ट ब्राउज़र ऐप्लिकेशन का इस्तेमाल करें. कॉन्टेंट बनाने Android के कस्टम टैब लाइब्रेरी का भी इस्तेमाल किया जा सकता है.
iOS
अनुमति के अनुरोध खोलते समय, iOS और macOS डेवलपर को यह गड़बड़ी दिख सकती है
WKWebView
.
डेवलपर को इसके बजाय iOS लाइब्रेरी का इस्तेमाल करना चाहिए, जैसे कि
iOS के लिए Google साइन-इन या Notebook Foundation की सेवा
iOS के लिए AppAuth.
वेब डेवलपर को यह गड़बड़ी तब दिख सकती है, जब iOS या macOS ऐप्लिकेशन,
एक एम्बेड किया गया उपयोगकर्ता-एजेंट और उपयोगकर्ता, इससे Google के OAuth 2.0 ऑथराइज़ेशन एंडपॉइंट पर नेविगेट करता है
आपकी साइट. डेवलपर को सामान्य लिंक को
ऑपरेटिंग सिस्टम, जिसमें दोनों शामिल हैं
यूनिवर्सल लिंक
हैंडलर या डिफ़ॉल्ट ब्राउज़र ऐप्लिकेशन का इस्तेमाल करें. कॉन्टेंट बनाने
SFSafariViewController
लाइब्रेरी का भी इस्तेमाल किया जा सकता है.
org_internal
अनुरोध में दिया गया OAuth क्लाइंट आईडी, एक ऐसे प्रोजेक्ट का हिस्सा है जो Google खातों को तय Google Cloud संगठन. इस कॉन्फ़िगरेशन विकल्प के बारे में ज़्यादा जानकारी के लिए, यहां देखें: उपयोगकर्ता का टाइप 'ऐसी स्क्रीन जहां OAuth के लिए सहमति दी जाती है' सेट अप करने का सहायता लेख पढ़ें.
invalid_grant
अगर आपको किसी
कोड की पुष्टि करने वाला प्रोग्राम और
चैलेंज में शामिल किया गया है, तो code_callenge
पैरामीटर अमान्य है या मौजूद नहीं है. पक्का करें कि
code_challenge
पैरामीटर सही तरीके से सेट है.
किसी ऐक्सेस टोकन को रीफ़्रेश करते समय, हो सकता है कि टोकन की समयसीमा खत्म हो गई हो या उसकी समयसीमा खत्म हो गई हो अमान्य हो गया है. उपयोगकर्ता की फिर से पुष्टि करें और नए टोकन पाने के लिए, उपयोगकर्ता की सहमति मांगें. अगर आपको जारी रखना है, तो इस गड़बड़ी को देखने के लिए, पक्का करें कि आपका ऐप्लिकेशन ठीक से कॉन्फ़िगर किया गया है और आप इसमें सही टोकन और पैरामीटर का इस्तेमाल करें. ऐसा न करने पर, उपयोगकर्ता खाते में आपकी साइट को मिटा दिया गया है या उसे बंद कर दिया गया है.
redirect_uri_mismatch
अनुमति देने के अनुरोध में पास किया गया redirect_uri
, उस आधिकारिक खाते से मेल नहीं खाता जिसे अनुमति मिली है
OAuth क्लाइंट आईडी के लिए रीडायरेक्ट यूआरआई. यहां दिए गए आधिकारिक रीडायरेक्ट यूआरआई की समीक्षा करें:
Google API Console पर बताया गया हैCredentials page.
पास किया गया redirect_uri
, क्लाइंट टाइप के लिए अमान्य हो सकता है.
redirect_uri
पैरामीटर ऐसा OAuth आउट-ऑफ़-बैंड (OOB) फ़्लो देख सकता है जिसमें
अब काम नहीं करता. देखें
डेटा को दूसरी जगह भेजने से जुड़ी गाइड अपडेट करें.
इंटिग्रेशन.
invalid_request
आपके किए गए अनुरोध में कोई गड़बड़ी थी. ऐसा कई वजहों से हो सकता है:
- अनुरोध सही तरीके से फ़ॉर्मैट नहीं किया गया था
- अनुरोध में ज़रूरी पैरामीटर मौजूद नहीं थे
- अनुरोध, पुष्टि करने के लिए किसी ऐसे तरीके का इस्तेमाल करता है जो Google पर काम नहीं करता. अपने OAuth की पुष्टि करें इंटिग्रेशन के लिए, इंटिग्रेशन के सुझाए गए तरीके का इस्तेमाल किया जाता है
- रीडायरेक्ट यूआरआई के लिए किसी कस्टम स्कीम का इस्तेमाल किया जाता है : अगर आपको गड़बड़ी का मैसेज दिखता है कस्टम यूआरआई स्कीम इस्तेमाल नहीं की जा सकती: Chrome ऐप्लिकेशन या कस्टम यूआरआई स्कीम आपके Android क्लाइंट के लिए चालू नहीं है, तो इसका मतलब है कि कस्टम यूआरआई का इस्तेमाल किया जा रहा है ऐसी स्कीम जो Chrome ऐप्लिकेशन पर काम नहीं करती और डिफ़ॉल्ट रूप से Android. कस्टम यूआरआई स्कीम के बारे में ज़्यादा जानें विकल्प
चौथा चरण: OAuth 2.0 सर्वर रिस्पॉन्स को मैनेज करना
आपके ऐप्लिकेशन को प्राधिकरण प्रतिक्रिया किस तरह से प्राप्त होगी, यह इस बात पर निर्भर करता है कि
रीडायरेक्ट यूआरआई स्कीम का इस्तेमाल करती है. योजना चाहे जो भी हो,
जवाब में या तो ऑथराइज़ेशन कोड (code
) होगा या कोई गड़बड़ी होगी
(error
). उदाहरण के लिए, error=access_denied
से पता चलता है कि उपयोगकर्ता
अनुरोध अस्वीकार कर दिया है.
अगर उपयोगकर्ता आपके ऐप्लिकेशन को ऐक्सेस देता है, तो आपके पास ऐक्सेस टोकन और रीफ़्रेश टोकन की जानकारी देनी होगी, जैसा कि अगले चरण में बताया गया है.
पांचवां चरण: रीफ़्रेश करने और ऐक्सेस करने के लिए Exchange का ऑथराइज़ेशन कोड टोकन
ऐक्सेस टोकन से ऑथराइज़ेशन कोड को बदलने के लिए,
https://oauth2.googleapis.com/token
एंडपॉइंट और ये पैरामीटर सेट करें:
फ़ील्ड | |
---|---|
client_id |
API Consoleसे मिला क्लाइंट आईडी Credentials page. |
client_secret |
API Consoleसे मिला क्लाइंट सीक्रेट Credentials page. |
code |
शुरुआती अनुरोध के बाद, ऑथराइज़ेशन कोड लौटाया गया. |
code_verifier |
कोड की पुष्टि करने वाला प्रोग्राम, जिसे आपने बनाया है पहला चरण. |
grant_type |
जैसा कि OAuth 2.0 में बताया गया है
स्पेसिफ़िकेशन के लिए, इस फ़ील्ड की वैल्यू authorization_code पर सेट होनी चाहिए. |
redirect_uri |
यहां आपके प्रोजेक्ट के लिए दिए गए रीडायरेक्ट यूआरआई में से एक है:
API Consoleअभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
दिए गए टास्क के लिए Credentials page
client_id . |
नीचे दिए गए स्निपेट में, अनुरोध का एक सैंपल दिखाया गया है:
POST /token HTTP/1.1 Host: oauth2.googleapis.com Content-Type: application/x-www-form-urlencoded code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7& client_id=your_client_id& client_secret=your_client_secret& redirect_uri=http://127.0.0.1:9004& grant_type=authorization_code
इस अनुरोध का जवाब देने के लिए, Google एक JSON ऑब्जेक्ट दिखाता है. इसमें कुछ समय के लिए उपलब्ध रहने वाला ऐक्सेस होता है टोकन और रीफ़्रेश टोकन.
इस जवाब में ये फ़ील्ड शामिल होते हैं:
फ़ील्ड | |
---|---|
access_token |
वह टोकन जो आपका ऐप्लिकेशन, Google API अनुरोध को अनुमति देने के लिए भेजता है. |
expires_in |
ऐक्सेस टोकन की बची हुई अवधि कुछ सेकंड में. |
id_token |
ध्यान दें: यह प्रॉपर्टी सिर्फ़ तब दिखती है, जब आपके अनुरोध में पहचान का स्कोप शामिल होता है.
जैसे, openid , profile या email . मान एक है
JSON Web Token (JWT), जिसमें
उपयोगकर्ता. |
refresh_token |
ऐसा टोकन जिसका इस्तेमाल करके, नया ऐक्सेस टोकन पाया जा सकता है. रीफ़्रेश टोकन इस तारीख तक मान्य हैं: जब उपयोगकर्ता ऐक्सेस रद्द कर देता है. ध्यान दें कि इंस्टॉल किए गए ऐप्लिकेशन के लिए रीफ़्रेश टोकन हमेशा दिखाए जाते हैं. |
scope |
access_token ने ऐक्सेस के जो दायरे दिए हैं उन्हें इनकी सूची के तौर पर दिखाया गया है
स्पेस-डीलिमिटेड, केस-सेंसिटिव स्ट्रिंग. |
token_type |
टोकन टाइप किया गया. इस समय, इस फ़ील्ड का मान हमेशा पर सेट होता है
Bearer . |
नीचे दिया गया स्निपेट एक सैंपल रिस्पॉन्स दिखाता है:
{ "access_token": "1/fFAGRNJru1FTz70BzhT3Zg", "expires_in": 3920, "token_type": "Bearer", "scope": "https://www.googleapis.com/auth/youtube.force-ssl", "refresh_token": "1//xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI" }
Calling Google API
जब आपके ऐप्लिकेशन को ऐक्सेस टोकन मिल जाता है, तब आपके पास इस टोकन का इस्तेमाल करके, Google को कॉल करने का विकल्प होता है
किसी दिए गए प्रतिनिधि की ओर से API
उपयोगकर्ता खाते के लिए. ऐसा करने के लिए, शामिल करें
एपीआई को किए गए अनुरोध में access_token
क्वेरी शामिल करके, ऐक्सेस टोकन
पैरामीटर या Authorization
एचटीटीपी हेडर Bearer
वैल्यू. जब मुमकिन हो,
एचटीटीपी हेडर को प्राथमिकता दी जाती है, क्योंकि सर्वर लॉग में क्वेरी स्ट्रिंग अक्सर दिखती हैं. ज़्यादातर
मामलों में आप Google API पर अपने कॉल सेट अप करने के लिए क्लाइंट लाइब्रेरी का उपयोग कर सकते हैं (उदाहरण के लिए,
YouTube लाइव स्ट्रीमिंग एपीआई को कॉल करना).
ध्यान दें कि YouTube Live Streaming API, सेवा खाते के फ़्लो के साथ काम नहीं करता. जब से
सेवा खाते को YouTube खाते से लिंक करने का कोई तरीका नहीं है. यह इसके ज़रिए अनुरोधों को अनुमति देने की कोशिश करता है
फ़्लो से NoLinkedYouTubeAccount
गड़बड़ी जनरेट होगी.
आप सभी Google API को आज़मा सकते हैं और यहां पर उनके दायरे देख सकते हैं OAuth 2.0 Playground.
एचटीटीपी जीईटी के उदाहरण
एक कॉल
liveBroadcasts.list
Authorization: Bearer
एचटीटीपी का इस्तेमाल करके एंडपॉइंट (YouTube Live Streaming API) का इस्तेमाल करना
हेडर ऐसा दिख सकता है. ध्यान दें कि आपको अपना ऐक्सेस टोकन बताना होगा:
GET /youtube/v3/liveBroadcasts?part=id%2Csnippet&mine=true HTTP/1.1 Host: www.googleapis.com Authorization: Bearer access_token
यहां access_token
का इस्तेमाल करके, पुष्टि किए गए उपयोगकर्ता के लिए उसी एपीआई को कॉल किया गया है
क्वेरी स्ट्रिंग पैरामीटर:
GET https://www.googleapis.com/youtube/v3/liveBroadcasts?access_token=access_token&part=id%2Csnippet&mine=true
curl
के उदाहरण
curl
कमांड-लाइन ऐप्लिकेशन का इस्तेमाल करके, इन कमांड की जांच की जा सकती है. यह रही
उदाहरण के लिए, जो एचटीटीपी हेडर विकल्प का इस्तेमाल करता है (प्राथमिकता दी जाती है):
curl -H "Authorization: Bearer access_token" https://www.googleapis.com/youtube/v3/liveBroadcasts?part=id%2Csnippet&mine=true
इसके अलावा, क्वेरी स्ट्रिंग पैरामीटर विकल्प:
curl https://www.googleapis.com/youtube/v3/liveBroadcasts?access_token=access_token&part=id%2Csnippet&mine=true
ऐक्सेस टोकन को रीफ़्रेश करना
ऐक्सेस टोकन, समय-समय पर खत्म हो जाते हैं और मिलते-जुलते एपीआई अनुरोध के लिए, अमान्य क्रेडेंशियल बन जाते हैं. आपने लोगों तक पहुंचाया मुफ़्त में किसी ऐक्सेस टोकन को रीफ़्रेश कर सकता है. इसके लिए, उसे अनुमति देने के लिए नहीं कहा जाता. ऐसा तब भी किया जा सकता है, जब उपयोगकर्ता मौजूद नहीं है) अगर आपने टोकन से जुड़े स्कोप के लिए ऑफ़लाइन ऐक्सेस का अनुरोध किया है.
ऐक्सेस टोकन को रीफ़्रेश करने के लिए, आपका ऐप्लिकेशन एचटीटीपीएस POST
भेजता है
Google के ऑथराइज़ेशन सर्वर (https://oauth2.googleapis.com/token
) से अनुरोध करेगा कि
इसमें ये पैरामीटर शामिल होते हैं:
फ़ील्ड | |
---|---|
client_id |
API Consoleसे मिला क्लाइंट आईडी. |
client_secret |
API Consoleसे मिला क्लाइंट सीक्रेट.
(client_secret के तौर पर रजिस्टर किए गए क्लाइंट के अनुरोधों पर यह लागू नहीं होता है
Android, iOS या Chrome ऐप्लिकेशन.)
|
grant_type |
जैसे
तय की गई
OAuth 2.0 का स्पेसिफ़िकेशन,
इस फ़ील्ड का मान refresh_token पर सेट होना चाहिए. |
refresh_token |
ऑथराइज़ेशन कोड के एक्सचेंज से मिला रीफ़्रेश टोकन. |
नीचे दिए गए स्निपेट में, अनुरोध का एक सैंपल दिखाया गया है:
POST /token HTTP/1.1 Host: oauth2.googleapis.com Content-Type: application/x-www-form-urlencoded client_id=your_client_id& client_secret=your_client_secret& refresh_token=refresh_token& grant_type=refresh_token
जब तक उपयोगकर्ता, ऐप्लिकेशन को दिया गया ऐक्सेस रद्द नहीं करता, तब तक टोकन सर्वर JSON ऑब्जेक्ट दिखाता है, जिसमें नया ऐक्सेस टोकन होता है. नीचे दिया गया स्निपेट एक सैंपल दिखाता है जवाब:
{ "access_token": "1/fFAGRNJru1FTz70BzhT3Zg", "expires_in": 3920, "scope": "https://www.googleapis.com/auth/drive.metadata.readonly", "token_type": "Bearer" }
ध्यान दें कि जारी किए जाने वाले रीफ़्रेश टोकन की संख्या सीमित है; एक सीमा प्रति और सभी क्लाइंट में हर उपयोगकर्ता के हिसाब से एक-दूसरे का इस्तेमाल करना होगा. आपको रीफ़्रेश टोकन सेव करने चाहिए और उनका इस्तेमाल तब तक करते रहें, जब तक वे मान्य हों. अगर आपका आवेदन बहुत ज़्यादा रीफ़्रेश टोकन का अनुरोध करता है, तो वह इन सीमाओं का सामना कर सकता है. इस स्थिति में पुराने रीफ़्रेश टोकन काम करना बंद कर देगी.
टोकन निरस्त करना
कुछ मामलों में, हो सकता है कि उपयोगकर्ता किसी ऐप्लिकेशन को दिया गया ऐक्सेस वापस लेना चाहें. उपयोगकर्ता, ऐक्सेस रद्द कर सकता है पर जाकर खाता सेटिंग. ज़्यादा जानकारी के लिए, हटाएं तीसरे पक्ष की साइटों का साइट या ऐप्लिकेशन ऐक्सेस सेक्शन और ऐसे ऐप्लिकेशन जिनके पास आपके खाते का ऐक्सेस है सहायता दस्तावेज़ देखें.
किसी ऐप्लिकेशन को दी गई ऐक्सेस को प्रोग्राम के हिसाब से रद्द करना भी संभव है. प्रोग्राम के हिसाब से प्रोसेस को रद्द करना तब ज़रूरी होता है, जब कोई उपयोगकर्ता सदस्यता छोड़ता है, किसी ऐप्लिकेशन के लिए ज़रूरी एपीआई संसाधनों में बहुत ज़्यादा बदलाव हुए हैं. दूसरे शब्दों में, हटाने की प्रोसेस के हिस्से में, एपीआई अनुरोध शामिल हो सकता है. इससे यह पक्का किया जा सकेगा कि पहले से दी गई अनुमतियां ऐप्लिकेशन को दी गई अनुमति हटा दी जाती है.
किसी टोकन को प्रोग्राम के हिसाब से रद्द करने के लिए, आपका ऐप्लिकेशन इसके लिए अनुरोध करता है
https://oauth2.googleapis.com/revoke
और इसमें पैरामीटर के तौर पर टोकन शामिल होता है:
curl -d -X -POST --header "Content-type:application/x-www-form-urlencoded" \ https://oauth2.googleapis.com/revoke?token={token}
टोकन, ऐक्सेस टोकन या रीफ़्रेश टोकन हो सकता है. अगर टोकन एक ऐक्सेस टोकन है और उसमें प्रासंगिक रीफ़्रेश टोकन के रूप में, तो रीफ़्रेश टोकन को भी निरस्त कर दिया जाएगा.
अगर सहमति रद्द हो गई है, तो रिस्पॉन्स का एचटीटीपी स्टेटस कोड यह होगा
200
. गड़बड़ी की स्थितियों के लिए, एक एचटीटीपी स्टेटस कोड 400
दिखाया जाता है
डालें.
इसके बारे में और पढ़ें
के लिए आईईटीएफ़ का सबसे सही मौजूदा तरीका OAuth 2.0 नेटिव ऐप्लिकेशन, यहां बताए गए कई सबसे सही तरीकों के बारे में बताते हैं.
'सभी खातों की सुरक्षा' सुविधा को लागू करना
अपने उपयोगकर्ताओं की सुरक्षा के लिए, Google खातों में, क्रॉस-खाता लागू किया जा रहा है Google की 'सभी खातों की सुरक्षा' सेवा का इस्तेमाल करके अपने डेटा की सुरक्षा करना. यह सेवा आपको सुरक्षा से जुड़ी गतिविधियों की सूचना पाने की सदस्यता लेते हैं. इन सूचनाओं में, आपके ऐप्लिकेशन के बारे में जानकारी दी जाती है उपयोगकर्ता खाते में बड़े बदलाव हुए हैं. इसके बाद, कार्रवाई करने के लिए जानकारी का इस्तेमाल किया जा सकता है. इवेंट में शामिल होने का फ़ैसला किस तरह लिया जाएगा.
Google की 'सभी खातों की सुरक्षा' सेवा से आपके ऐप्लिकेशन को भेजे जाने वाले इवेंट टाइप के कुछ उदाहरण:
-
https://schemas.openid.net/secevent/risc/event-type/sessions-revoked
-
https://schemas.openid.net/secevent/oauth/event-type/token-revoked
-
https://schemas.openid.net/secevent/risc/event-type/account-disabled
ज़्यादा जानकारी के लिए, 'सभी खातों की सुरक्षा' पेज की मदद से उपयोगकर्ता खातों को सुरक्षित रखना .