Google API, पुष्टि करने और अनुमति देने के लिए OAuth 2.0 प्रोटोकॉल का इस्तेमाल करते हैं. Google, OAuth 2.0 के सामान्य इस्तेमाल के साथ काम करता है. जैसे, वेब सर्वर, क्लाइंट-साइड, इंस्टॉल किए गए, और सीमित इनपुट वाले डिवाइसों के ऐप्लिकेशन.
शुरू करने के लिए, Google API Console से OAuth 2.0 क्लाइंट क्रेडेंशियल पाएं. इसके बाद, आपका क्लाइंट ऐप्लिकेशन, Google ऑथराइज़ेशन सर्वर से ऐक्सेस टोकन का अनुरोध करता है. साथ ही, जवाब से टोकन निकालता है और उस Google API को भेजता है जिसे आपको ऐक्सेस करना है. Google के साथ OAuth 2.0 का इस्तेमाल करने के बारे में इंटरैक्टिव डेमो देखने के लिए, OAuth 2.0 Playground आज़माएं. इसमें अपने क्लाइंट क्रेडेंशियल इस्तेमाल करने का विकल्प भी शामिल है.
इस पेज पर, Google के साथ काम करने वाले OAuth 2.0 ऑथराइज़ेशन के उदाहरणों की खास जानकारी दी गई है. साथ ही, ज़्यादा जानकारी वाले कॉन्टेंट के लिंक दिए गए हैं. पुष्टि करने के लिए OAuth 2.0 का इस्तेमाल करने के बारे में जानकारी पाने के लिए, OpenID Connect लेख पढ़ें.
बुनियादी चरण
OAuth 2.0 का इस्तेमाल करके Google API को ऐक्सेस करते समय, सभी ऐप्लिकेशन एक बुनियादी पैटर्न का पालन करते हैं. बड़े लेवल पर, आपको पांच चरण पूरे करने होते हैं:
1. Google API Consoleसे OAuth 2.0 क्रेडेंशियल पाएं.
Google और आपके ऐप्लिकेशन, दोनों के लिए जाने-पहचाने OAuth 2.0 क्रेडेंशियल पाने के लिए, Google API Console पर जाएं. जैसे, क्लाइंट आईडी और क्लाइंट सीक्रेट. वैल्यू का सेट, इस बात पर निर्भर करता है कि किस तरह का ऐप्लिकेशन बनाया जा रहा है. उदाहरण के लिए, JavaScript ऐप्लिकेशन को सीक्रेट की ज़रूरत नहीं होती, लेकिन वेब सर्वर ऐप्लिकेशन को इसकी ज़रूरत होती है.
आपको उस प्लैटफ़ॉर्म के लिए सही OAuth क्लाइंट बनाना होगा जिस पर आपका ऐप्लिकेशन चलेगा. उदाहरण के लिए:
2. Google ऑथराइज़ेशन सर्वर से ऐक्सेस टोकन पाएं.
Google API का इस्तेमाल करके निजी डेटा को ऐक्सेस करने से पहले, आपके ऐप्लिकेशन को एक ऐक्सेस टोकन पाना होगा. इससे उसे उस एपीआई को ऐक्सेस करने की अनुमति मिलेगी. एक ऐक्सेस टोकन से, अलग-अलग एपीआई को अलग-अलग लेवल का ऐक्सेस दिया जा सकता है. scope नाम का एक वैरिएबल पैरामीटर, उन संसाधनों और कार्रवाइयों के सेट को कंट्रोल करता है जिनके लिए ऐक्सेस टोकन की अनुमति होती है. ऐक्सेस टोकन के अनुरोध के दौरान, आपका ऐप्लिकेशन scope पैरामीटर में एक या एक से ज़्यादा वैल्यू भेजता है.
यह अनुरोध करने के कई तरीके हैं. ये तरीके, आपके बनाए जा रहे ऐप्लिकेशन के टाइप के हिसाब से अलग-अलग होते हैं. उदाहरण के लिए, कोई JavaScript ऐप्लिकेशन, Google पर ब्राउज़र रीडायरेक्ट का इस्तेमाल करके ऐक्सेस टोकन का अनुरोध कर सकता है. वहीं, किसी ऐसे डिवाइस पर इंस्टॉल किया गया ऐप्लिकेशन जिस पर कोई ब्राउज़र नहीं है, वह वेब सेवा के अनुरोधों का इस्तेमाल करता है. अनुरोध करने के तरीके के बारे में ज़्यादा जानने के लिए, Scenarios और हर तरह के ऐप्लिकेशन के लिए लागू करने से जुड़ी गाइड देखें.
कुछ अनुरोधों के लिए, पुष्टि करने का चरण ज़रूरी होता है. इसमें उपयोगकर्ता अपने Google खाते से लॉग इन करता है. लॉग इन करने के बाद, उपयोगकर्ता से पूछा जाता है कि क्या वह आपके ऐप्लिकेशन को एक या उससे ज़्यादा अनुमतियां देना चाहता है. इस प्रोसेस को उपयोगकर्ता की सहमति कहा जाता है.
अगर उपयोगकर्ता कम से कम एक अनुमति देता है, तो Google का ऑथराइज़ेशन सर्वर आपके ऐप्लिकेशन को ऐक्सेस टोकन (या ऑथराइज़ेशन कोड, जिसका इस्तेमाल करके आपका ऐप्लिकेशन ऐक्सेस टोकन पा सकता है) भेजता है. साथ ही, उस टोकन से ऐक्सेस किए जा सकने वाले स्कोप की सूची भी भेजता है. अगर उपयोगकर्ता अनुमति नहीं देता है, तो सर्वर गड़बड़ी का मैसेज दिखाता है.
आम तौर पर, यह सबसे सही तरीका माना जाता है कि ऐक्सेस की ज़रूरत पड़ने पर, एक-एक करके स्कोप का अनुरोध किया जाए. ऐसा पहले से ही न करें. उदाहरण के लिए, अगर किसी ऐप्लिकेशन को कैलेंडर में इवेंट सेव करने की सुविधा देनी है, तो उसे तब तक Google Calendar का ऐक्सेस नहीं मांगना चाहिए, जब तक उपयोगकर्ता "कैलेंडर में जोड़ें" बटन को नहीं दबाता. ज़्यादा जानकारी के लिए, इंक्रीमेंटल ऑथराइज़ेशन देखें.
3. उपयोगकर्ता ने ऐप्लिकेशन को किन स्कोप का ऐक्सेस दिया है, इसकी जांच करें.
ऐक्सेस टोकन के जवाब में शामिल स्कोप की तुलना उन स्कोप से करें जिनकी ज़रूरत, आपके ऐप्लिकेशन की उन सुविधाओं और फ़ंक्शन को ऐक्सेस करने के लिए होती है जो Google API से जुड़े हैं. अपने ऐप्लिकेशन की उन सुविधाओं को बंद करें जो संबंधित एपीआई के ऐक्सेस के बिना काम नहीं कर सकती हैं.
ऐसा हो सकता है कि आपके अनुरोध में शामिल स्कोप, जवाब में शामिल स्कोप से मेल न खाए. भले ही, उपयोगकर्ता ने अनुरोध किए गए सभी स्कोप के लिए सहमति दी हो. ऐक्सेस के लिए ज़रूरी स्कोप के बारे में जानने के लिए, हर Google API का दस्तावेज़ देखें. एपीआई, स्कोप स्ट्रिंग की कई वैल्यू को ऐक्सेस के एक ही स्कोप पर मैप कर सकता है. साथ ही, अनुरोध में अनुमति वाली सभी वैल्यू के लिए, एक ही स्कोप स्ट्रिंग दिखा सकता है.
उदाहरण: जब कोई ऐप्लिकेशन, उपयोगकर्ता से https://www.google.com/m8/feeds/ स्कोप को अनुमति देने का अनुरोध करता है, तब Google People API, https://www.googleapis.com/auth/contacts स्कोप दिखा सकता है. Google People API के people.updateContact तरीके के लिए, https://www.googleapis.com/auth/contacts स्कोप की अनुमति ज़रूरी है.
4. किसी एपीआई को ऐक्सेस टोकन भेजें.
जब कोई ऐप्लिकेशन ऐक्सेस टोकन पा लेता है, तो वह उसे Google API को भेजता है. इसके लिए, वह एचटीटीपी ऑथराइज़ेशन अनुरोध हेडर का इस्तेमाल करता है. टोकन को यूआरआई क्वेरी-स्ट्रिंग पैरामीटर के तौर पर भेजा जा सकता है. हालांकि, हम ऐसा करने का सुझाव नहीं देते, क्योंकि यूआरआई पैरामीटर ऐसी लॉग फ़ाइलों में सेव हो सकते हैं जो पूरी तरह से सुरक्षित नहीं होती हैं. साथ ही, REST के सबसे सही तरीके के मुताबिक, बेवजह यूआरआई पैरामीटर के नाम नहीं बनाने चाहिए.
ऐक्सेस टोकन सिर्फ़ उन कार्रवाइयों और संसाधनों के लिए मान्य होते हैं जिनके बारे में टोकन के अनुरोध के scope में बताया गया है. उदाहरण के लिए, अगर Google Calendar API के लिए ऐक्सेस टोकन जारी किया जाता है, तो इससे Google Contacts API को ऐक्सेस करने की अनुमति नहीं मिलती. हालांकि, एक ही तरह की कार्रवाइयों के लिए, उस ऐक्सेस टोकन को Google Calendar API को कई बार भेजा जा सकता है.
5. अगर ज़रूरी हो, तो ऐक्सेस टोकन रीफ़्रेश करें.
ऐक्सेस टोकन की लाइफ़टाइम सीमित होती है. अगर आपके ऐप्लिकेशन को किसी Google API को ऐक्सेस करने के लिए, एक ऐक्सेस टोकन की लाइफ़टाइम से ज़्यादा समय की ज़रूरत है, तो वह रीफ़्रेश टोकन पा सकता है. रीफ़्रेश टोकन की मदद से, आपका ऐप्लिकेशन नए ऐक्सेस टोकन पा सकता है.
स्थितियां
इन उदाहरणों में बताया गया है कि अलग-अलग तरह के ऐप्लिकेशन के लिए, ऑथराइज़ेशन कोड का अनुरोध करने और ऐक्सेस और रीफ़्रेश टोकन पाने के लिए, OAuth 2.0 का इस्तेमाल कैसे किया जाता है.
वेब सर्वर ऐप्लिकेशन
Google OAuth 2.0 एंडपॉइंट, वेब सर्वर ऐप्लिकेशन के साथ काम करता है. ये ऐप्लिकेशन, PHP, Java, Go, Python, Ruby, और ASP.NET जैसी भाषाओं और फ़्रेमवर्क का इस्तेमाल करते हैं.
अनुमति देने की प्रोसेस तब शुरू होती है, जब आपका ऐप्लिकेशन किसी ब्राउज़र को Google के यूआरएल पर रीडायरेक्ट करता है. इस यूआरएल में क्वेरी पैरामीटर शामिल होते हैं. इनसे पता चलता है कि किस तरह के ऐक्सेस का अनुरोध किया जा रहा है. Google, उपयोगकर्ता की पुष्टि करने, सेशन चुनने, और उपयोगकर्ता की सहमति लेने का काम करता है. इसके बाद, आपको एक ऑथराइज़ेशन कोड मिलता है. ऐप्लिकेशन, इस कोड को ऐक्सेस टोकन और रीफ़्रेश टोकन के बदले इस्तेमाल कर सकता है.
ऐप्लिकेशन को रीफ़्रेश टोकन को आने वाले समय में इस्तेमाल करने के लिए सेव करना चाहिए. साथ ही, Google API को ऐक्सेस करने के लिए, ऐक्सेस टोकन का इस्तेमाल करना चाहिए. ऐक्सेस टोकन की समयसीमा खत्म होने के बाद, ऐप्लिकेशन नए ऐक्सेस टोकन को पाने के लिए रीफ़्रेश टोकन का इस्तेमाल करता है.
ज़्यादा जानकारी के लिए, वेब सर्वर ऐप्लिकेशन के लिए OAuth 2.0 का इस्तेमाल करना लेख पढ़ें.
इंस्टॉल किए गए ऐप्स
Google OAuth 2.0 एंडपॉइंट, उन ऐप्लिकेशन के साथ काम करता है जो कंप्यूटर, मोबाइल डिवाइस, और टैबलेट जैसे डिवाइसों पर इंस्टॉल किए जाते हैं. Google API Console के ज़रिए क्लाइंट आईडी बनाते समय, यह बताएं कि यह इंस्टॉल किया गया ऐप्लिकेशन है. इसके बाद, ऐप्लिकेशन टाइप के तौर पर Android, Chrome एक्सटेंशन, iOS, Universal Windows Platform (UWP) या डेस्कटॉप ऐप्लिकेशन चुनें.
इस प्रोसेस से क्लाइंट आईडी और कुछ मामलों में क्लाइंट सीक्रेट मिलता है. इसे आपको अपने ऐप्लिकेशन के सोर्स कोड में एम्बेड करना होता है. (इस संदर्भ में, क्लाइंट सीक्रेट को ज़ाहिर तौर पर सीक्रेट के तौर पर नहीं माना जाता.)
अनुमति देने की प्रोसेस तब शुरू होती है, जब आपका ऐप्लिकेशन किसी ब्राउज़र को Google के यूआरएल पर रीडायरेक्ट करता है. इस यूआरएल में क्वेरी पैरामीटर शामिल होते हैं. इनसे पता चलता है कि किस तरह के ऐक्सेस का अनुरोध किया जा रहा है. Google, उपयोगकर्ता की पुष्टि करने, सेशन चुनने, और उपयोगकर्ता की सहमति लेने का काम करता है. इसके बाद, आपको ऑथराइज़ेशन कोड मिलता है. ऐप्लिकेशन, इस कोड के बदले ऐक्सेस टोकन पा सकता है. ऐप्लिकेशन को Google API के अनुरोध में ऐक्सेस टोकन शामिल करने से पहले, उसकी पुष्टि करनी चाहिए. टोकन की समयसीमा खत्म होने पर, ऐप्लिकेशन इस प्रोसेस को दोहराता है.
इसके अलावा, बैकएंड सर्वर ऑथराइज़ेशन कोड को रीफ़्रेश टोकन के लिए बदल सकता है. साथ ही, इसे सुरक्षित जगह पर सेव कर सकता है. ऐक्सेस टोकन की समयसीमा खत्म होने के बाद, बैकएंड सर्वर ऐप्लिकेशन के लिए नया ऐक्सेस टोकन पाने के लिए, रीफ़्रेश टोकन का इस्तेमाल करता है.
ज़्यादा जानकारी के लिए, Android के लिए Google उपयोगकर्ता के डेटा का ऐक्सेस देना और iOS और डेस्कटॉप ऐप्लिकेशन के लिए OAuth 2.0 देखें.
क्लाइंट-साइड (JavaScript) ऐप्लिकेशन
Google OAuth 2.0 एंडपॉइंट, ब्राउज़र में चलने वाले JavaScript ऐप्लिकेशन के साथ काम करता है.
अनुमति देने की प्रोसेस तब शुरू होती है, जब आपका ऐप्लिकेशन किसी ब्राउज़र को Google के यूआरएल पर रीडायरेक्ट करता है. इस यूआरएल में क्वेरी पैरामीटर शामिल होते हैं. इनसे पता चलता है कि किस तरह के ऐक्सेस का अनुरोध किया जा रहा है. Google, उपयोगकर्ता की पुष्टि करने, सेशन चुनने, और उपयोगकर्ता की सहमति लेने का काम करता है.
इससे एक ऐक्सेस टोकन मिलता है. क्लाइंट को Google API के अनुरोध में इसे शामिल करने से पहले, इसकी पुष्टि करनी चाहिए. टोकन की समयसीमा खत्म होने पर, ऐप्लिकेशन इस प्रोसेस को दोहराता है.
ज़्यादा जानकारी के लिए, क्लाइंट-साइड ऐप्लिकेशन के लिए OAuth 2.0 का इस्तेमाल करना लेख पढ़ें.
सीमित इनपुट वाले डिवाइसों पर मौजूद ऐप्लिकेशन
Google का OAuth 2.0 एंडपॉइंट, उन ऐप्लिकेशन के साथ काम करता है जो सीमित इनपुट वाले डिवाइसों पर चलते हैं. जैसे, गेम कंसोल, वीडियो कैमरे, और प्रिंटर.
ऑथराइज़ेशन की प्रोसेस, ऐप्लिकेशन के Google यूआरएल को ऑथराइज़ेशन कोड के लिए वेब सेवा का अनुरोध करने से शुरू होती है. जवाब में कई पैरामीटर शामिल होते हैं. इनमें एक यूआरएल और एक कोड शामिल होता है, जिसे ऐप्लिकेशन उपयोगकर्ता को दिखाता है.
उपयोगकर्ता को डिवाइस से यूआरएल और कोड मिलता है. इसके बाद, वह किसी दूसरे डिवाइस या कंप्यूटर पर स्विच करता है. उपयोगकर्ता ब्राउज़र लॉन्च करता है, तय किए गए यूआरएल पर जाता है, लॉग इन करता है, और कोड डालता है.
इस बीच, ऐप्लिकेशन तय इंटरवल पर Google के यूआरएल को पोल करता है. जब उपयोगकर्ता ऐक्सेस करने की अनुमति दे देता है, तब Google सर्वर से मिलने वाले रिस्पॉन्स में ऐक्सेस टोकन और रीफ़्रेश टोकन शामिल होता है. ऐप्लिकेशन को रीफ़्रेश टोकन को आने वाले समय में इस्तेमाल करने के लिए सेव करना चाहिए. साथ ही, Google API को ऐक्सेस करने के लिए, ऐक्सेस टोकन का इस्तेमाल करना चाहिए. ऐक्सेस टोकन की समयसीमा खत्म होने के बाद, ऐप्लिकेशन नए ऐक्सेस टोकन को पाने के लिए रीफ़्रेश टोकन का इस्तेमाल करता है.
ज़्यादा जानकारी के लिए, डिवाइसों के लिए OAuth 2.0 का इस्तेमाल करना लेख पढ़ें.
सेवा खाते
Google के एपीआई, जैसे कि Prediction API और Google Cloud Storage, उपयोगकर्ता की जानकारी ऐक्सेस किए बिना आपके ऐप्लिकेशन की ओर से कार्रवाई कर सकते हैं. इन स्थितियों में, आपके ऐप्लिकेशन को एपीआई के सामने अपनी पहचान साबित करनी होती है. हालांकि, उपयोगकर्ता की सहमति की ज़रूरत नहीं होती. इसी तरह, एंटरप्राइज़ के मामलों में, आपका ऐप्लिकेशन कुछ संसाधनों के लिए डेलिगेट किए गए ऐक्सेस का अनुरोध कर सकता है.
इस तरह के सर्वर-टू-सर्वर इंटरैक्शन के लिए, आपको सेवा खाते की ज़रूरत होती है. यह खाता, किसी व्यक्ति के बजाय आपके ऐप्लिकेशन का होता है. आपका ऐप्लिकेशन, सेवा खाते की ओर से Google API को कॉल करता है. इसके लिए, उपयोगकर्ता की सहमति की ज़रूरत नहीं होती. (सेवा खाते के अलावा अन्य मामलों में, आपका ऐप्लिकेशन असली उपयोगकर्ताओं की ओर से Google API को कॉल करता है. साथ ही, कभी-कभी उपयोगकर्ता की सहमति ज़रूरी होती है.)
आपको Google API Consoleसे सेवा खाते के क्रेडेंशियल मिलते हैं. इनमें जनरेट किया गया एक यूनीक ईमेल पता, क्लाइंट आईडी, और कम से कम एक सार्वजनिक/निजी पासकोड शामिल होता है. साइन किया गया JWT बनाने के लिए, क्लाइंट आईडी और एक निजी पासकोड का इस्तेमाल किया जाता है. साथ ही, सही फ़ॉर्मैट में ऐक्सेस टोकन का अनुरोध तैयार किया जाता है. इसके बाद, आपका ऐप्लिकेशन Google OAuth 2.0 ऑथराइज़ेशन सर्वर को टोकन का अनुरोध भेजता है. इससे आपको ऐक्सेस टोकन मिलता है. ऐप्लिकेशन, Google API को ऐक्सेस करने के लिए इस टोकन का इस्तेमाल करता है. टोकन की समयसीमा खत्म होने पर, ऐप्लिकेशन इस प्रोसेस को दोहराता है.
ज़्यादा जानकारी के लिए, सेवा खाते का दस्तावेज़ देखें.
टोकन का साइज़
टोकन का साइज़ अलग-अलग हो सकता है. हालांकि, यह इन सीमाओं से ज़्यादा नहीं होना चाहिए:
Google Cloud के Security Token Service API से मिले ऐक्सेस टोकन, Google API OAuth 2.0 ऐक्सेस टोकन की तरह ही होते हैं. हालांकि, इनके टोकन का साइज़ अलग-अलग होता है. ज़्यादा जानकारी के लिए, एपीआई से जुड़ा दस्तावेज़ देखें.
Google के पास इन सीमाओं के अंदर, टोकन के साइज़ में बदलाव करने का अधिकार सुरक्षित है. साथ ही, आपके ऐप्लिकेशन को टोकन के अलग-अलग साइज़ के साथ काम करना चाहिए.
रीफ़्रेश टोकन के खत्म होने की तारीख
आपको अपना कोड इस तरह से लिखना होगा कि अगर दिया गया रीफ़्रेश टोकन काम न करे, तो आपको इसकी जानकारी मिल जाए. इनमें से किसी एक वजह से, रीफ़्रेश टोकन काम करना बंद कर सकता है:
अगर Google Cloud Platform प्रोजेक्ट में, बाहरी उपयोगकर्ता के लिए OAuth सहमति स्क्रीन कॉन्फ़िगर की गई है और पब्लिश करने की स्थिति "जांच की जा रही है" है, तो उसे सात दिनों में खत्म होने वाला रीफ़्रेश टोकन जारी किया जाता है. हालांकि, ऐसा तब नहीं होता, जब अनुरोध किए गए OAuth स्कोप सिर्फ़ नाम, ईमेल पते, और उपयोगकर्ता प्रोफ़ाइल के सबसेट हों. ऐसा
userinfo.email, userinfo.profile, openid स्कोप या उनके OpenID Connect के बराबर के स्कोप के ज़रिए किया जाता है.
फ़िलहाल, हर Google खाते के लिए, OAuth 2.0 क्लाइंट आईडी के हिसाब से ज़्यादा से ज़्यादा 100 रीफ़्रेश टोकन इस्तेमाल किए जा सकते हैं. अगर सीमा पूरी हो जाती है, तो नया रीफ़्रेश टोकन बनाने पर, सबसे पुराना रीफ़्रेश टोकन बिना किसी चेतावनी के अपने-आप अमान्य हो जाता है. यह सीमा, सेवा खातों पर लागू नहीं होती.
इसके अलावा, किसी उपयोगकर्ता खाते या सेवा खाते के पास सभी क्लाइंट के लिए, रीफ़्रेश टोकन की कुल संख्या की ज़्यादा सीमा भी होती है. ज़्यादातर सामान्य उपयोगकर्ता इस सीमा से ज़्यादा अनुरोध नहीं करेंगे. हालांकि, ऐसा हो सकता है कि किसी डेवलपर का खाता, लागू करने की प्रोसेस की जांच करने के लिए इस सीमा से ज़्यादा अनुरोध करे.
अगर आपको एक से ज़्यादा प्रोग्राम, मशीनों या डिवाइसों को अनुमति देनी है, तो एक तरीका यह है कि आप हर Google खाते के लिए, अनुमति देने वाले क्लाइंट की संख्या को 15 या 20 तक सीमित करें. अगर आप Google Workspace एडमिन हैं, तो आपके पास एडमिन के अधिकारों वाले अतिरिक्त उपयोगकर्ता बनाने का विकल्प होता है. इनका इस्तेमाल करके, कुछ क्लाइंट को अनुमति दी जा सकती है.
Google Cloud Platform (GCP) संगठनों के लिए सेशन कंट्रोल की नीतियों को लागू करना
GCP संगठनों के एडमिन, Google Cloud सेशन कंट्रोल की सुविधा का इस्तेमाल करके, GCP संसाधनों को ऐक्सेस करते समय उपयोगकर्ताओं से बार-बार पुष्टि करने के लिए कह सकते हैं. इस नीति का असर, Google Cloud Console, Google Cloud SDK (इसे gcloud CLI भी कहा जाता है) के ऐक्सेस पर पड़ता है. साथ ही, इसका असर तीसरे पक्ष के उन सभी OAuth ऐप्लिकेशन पर भी पड़ता है जिनके लिए Cloud Platform स्कोप की ज़रूरत होती है. अगर किसी उपयोगकर्ता के लिए सेशन कंट्रोल की नीति लागू है, तो सेशन की अवधि खत्म होने पर, आपके एपीआई कॉल में उसी तरह की गड़बड़ी होगी जैसी रीफ़्रेश टोकन रद्द होने पर होती है. कॉल में गड़बड़ी का टाइप invalid_grant होगा. error_subtype फ़ील्ड का इस्तेमाल, रद्द किए गए टोकन और सेशन कंट्रोल की नीति की वजह से हुई गड़बड़ी के बीच अंतर करने के लिए किया जा सकता है. उदाहरण के लिए, "error_subtype": "invalid_rapt". सेशन की अवधि बहुत कम (एक से 24 घंटे के बीच) हो सकती है. इसलिए, इस स्थिति को ठीक से हैंडल किया जाना चाहिए. इसके लिए, पुष्टि करने वाले सेशन को फिर से शुरू करें.
इसी तरह, आपको सर्वर-टू-सर्वर डिप्लॉयमेंट के लिए, उपयोगकर्ता के क्रेडेंशियल का इस्तेमाल नहीं करना चाहिए. साथ ही, आपको लोगों को ऐसा करने के लिए बढ़ावा भी नहीं देना चाहिए. अगर उपयोगकर्ता के क्रेडेंशियल को लंबे समय तक चलने वाले कामों या कार्रवाइयों के लिए किसी सर्वर पर डिप्लॉय किया जाता है और कोई ग्राहक ऐसे उपयोगकर्ताओं पर सेशन कंट्रोल करने से जुड़ी नीतियां लागू करता है, तो सर्वर ऐप्लिकेशन काम नहीं करेगा. ऐसा इसलिए, क्योंकि सेशन की अवधि खत्म होने पर, उपयोगकर्ता की फिर से पुष्टि करने का कोई तरीका नहीं होगा.
अपने ग्राहकों को इस सुविधा को डिप्लॉय करने में मदद करने के तरीके के बारे में ज़्यादा जानने के लिए, एडमिन के लिए सहायता लेख पढ़ें.
क्लाइंट लाइब्रेरी
यहां दी गई क्लाइंट लाइब्रेरी, लोकप्रिय फ़्रेमवर्क के साथ इंटिग्रेट होती हैं. इससे OAuth 2.0 को लागू करना आसान हो जाता है. समय के साथ, लाइब्रेरी में और सुविधाएं जोड़ी जाएंगी.
- Google Auth Library for Java
- Google API Client Library for Python
- Google API Client Library for Dart
- Go के लिए Google API क्लाइंट लाइब्रेरी
- .NET के लिए Google API क्लाइंट लाइब्रेरी
- Ruby के लिए Google API की क्लाइंट लाइब्रेरी
- PHP के लिए Google API Client Library
- Google API Client Library for JavaScript
- GTMAppAuth - Mac और iOS के लिए OAuth क्लाइंट लाइब्रेरी