Developer, SDM API का इस्तेमाल करके, userकी ओर से Google Nest डिवाइसों को देख सकते हैं और मैनेज कर सकते हैं. SDM API इस बात की पुष्टि करता है कि user , ऐक्सेस किए जा रहे डिवाइसों को मैनेज करता है. साथ ही, यह भी पुष्टि करता है कि user नेdeveloper हर डिवाइस के ट्रैट को पढ़ने या उसमें बदलाव करने की सहमति दी है. इसके अलावा, यह भी पुष्टि करता है किdeveloper को हर ट्रैट को ऐक्सेस करने के लिए व्हाइटलिस्ट किया गया है.
डिवाइस मैनेजमेंट के लिए SDM API का इस्तेमाल करने के लिए,developer को पहले userसे अनुमति लेनी होगी.
अनुमति देने की प्रोसेस के बारे में जानने के लिए, Device Access शुरुआती निर्देशों वाली गाइड का खाते को अनुमति दें पेज देखें.
अनुमति से जुड़ी गड़बड़ियों को हल करने में मदद के लिए, अनुमति से जुड़ी गड़बड़ियां देखें.
OAuth फ़्लो
SDM API,user अनुमति पाने के लिए, तीन लेग वाले Google OAuth फ़्लो का इस्तेमाल करता है:
- जब a user को Nest डिवाइसों को मैनेज करने की अनुमति a developer देनी होती है, तो वह developer कोuser PCM पर भेजता है. वहां userअपने Google खाते में लॉग इन करता है.
- PCM में, user developerके लिए अनुमतियां चुनता है.
- user , OAuth के ज़रिए सहमति देता है औरdeveloper को ऑथराइज़ेशन कोड देता है.
- developer , ऐक्सेस टोकन पाने के लिए ऑथराइज़ेशन कोड का इस्तेमाल करता है.
- डिवाइस मैनेजमेंट के लिए, developer एसडीएम एपीआई के कॉल के साथ ऐक्सेस टोकन का इस्तेमाल करता है.
Google OAuth और इसे सेट अप करने के तरीके के बारे में ज़्यादा जानने के लिए, Google API को ऐक्सेस करने के लिए, OAuth 2.0 का इस्तेमाल करना लेख पढ़ें.
पार्टनर कनेक्शन मैनेजर (पीसीएम)
PCM को एसडीएम एपीआई की मदद से उपलब्ध कराया जाता है. यह एक ऐसा व्यू है जिसमें उन सभी स्ट्रक्चर, डिवाइसों, और ऐक्सेस के विकल्पों की सूची होती है जिन्हेंuser developerको दिया जा सकता है. अनुमति देने की प्रोसेस के दौरान, userयह चुनता है कि किस चीज़ का ऐक्सेस देना है. साथ ही, उस ऐक्सेस को कंट्रोल करता रहता है.
पीसीएम में चुने गए विकल्प, ट्रीट ग्रुप पर मैप होते हैं. ये ट्रीट के ऐसे कलेक्शन होते हैं जिनका ऐक्सेस developer को दिया जाएगा. कुछ ट्रैट ग्रुप एक-दूसरे से लिंक होते हैं. यह इस बात पर निर्भर करता है किdeveloper , userको किस तरह का इंटिग्रेशन ऑफ़र कर रहा है. साथ ही, उस इंटिग्रेशन को चालू करने के लिए, userको उन लिंक किए गए ट्रैट ग्रुप के लिए अनुमतियां देनी होंगी. इसके अलावा, उपयोगकर्ता के पास अपनी ज़रूरत के हिसाब से, अलग-अलग और एक-दूसरे से अलग किए गए ट्रैट ग्रुप के लिए अनुमतियां देने का विकल्प होता है.
PCM चालू करना
userके लिए PCM व्यू चालू करने के लिए, अनुमति के अनुरोध के लिए, Google API के स्टैंडर्ड OAuth 2.0 एंडपॉइंट को इस नए OAuth एंडपॉइंट से बदलें:
https://nestservices.google.com/partnerconnections/project-id/auth
यूआरएल में इन पैरामीटर का इस्तेमाल करें:
पैरामीटर | ब्यौरा |
---|---|
redirect_uri |
अनुमति मिलने के बाद, user को निर्देश देने वाला यूआरआई. |
client_id |
आपके Google Cloud प्रोजेक्ट से लिया गया OAuth 2.0 क्लाइंट आईडी. पक्का करें कि यह वही आईडी हो जो आपके Project आईडी से जुड़ा है. ध्यान दें कि OAuth क्लाइंट आईडी, projectके लिए मान्य और यूनीक होना चाहिए. साथ ही, इसे दूसरे projectके साथ शेयर नहीं किया जा सकता. |
access_type |
इस्तेमाल की जाने वाली वैल्यू: offline |
prompt |
इस्तेमाल की जाने वाली वैल्यू: consent |
response_type |
इस्तेमाल करने के लिए वैल्यू: code इसके बदले में एक ऑथराइज़ेशन कोड उम्मीद है. |
scope |
इस्तेमाल करने के लिए वैल्यू: https://www.googleapis.com/auth/sdm.service
एसडीएम एपीआई का स्कोप. |
state |
ज़रूरी नहीं. यह एक ऐसी वैल्यू है जिसका इस्तेमाल developer क्लाइंट करता है, ताकि अनुरोध और कॉलबैक के बीच स्थिति को बनाए रखा जा सके. |
PCM यूआरएल का उदाहरण:
https://nestservices.google.com/partnerconnections/
2f6989ca-c756-4625-8cdc-d5b1edfb2dcd/auth?
redirect_uri=https://www.example.com/api/link/M258KP8OWYZDVQ&
client_id=418235700063-sdkiav89orn5r1nvrcr5t210qqjimq8l.apps.googleusercontent.com&
access_type=offline&
prompt=consent&
response_type=code&
scope=https://www.googleapis.com/auth/sdm.service
user से अनुमति मिलने के बाद, रीडायरेक्ट यूआरआई में code
पैरामीटर के तौर पर ऑथराइज़ेशन कोड दिखाया जाता है. ऐक्सेस टोकन पाने के लिए, इस कोड का इस्तेमाल करें.
अपने ऐप्लिकेशन में पीसीएम जोड़ना
अपने ऐप्लिकेशन में, इस यूआरएल का इस्तेमाल करके PCM व्यू जोड़ें:
https://nestservices.google.com/partnerconnections
जब user लॉग इन होता है, तो इस पेज पर उसके सभी लिंक किए गए Device Access developerदिखते हैं. साथ ही, अनुमतियां देने और वापस लेने के लिए टॉगल के साथ सभी स्ट्रक्चर और डिवाइसों की सूची भी दिखती है. user इस पेज से, हर पार्टनर के हिसाब से पार्टनर कनेक्शन को डिसकनेक्ट भी किया जा सकता है.
ऐसे ऐप्लिकेशन जिनकी पुष्टि नहीं की गई है
SDM API, पाबंदी वाले स्कोप का इस्तेमाल करता है. इसका मतलब है कि अनुमति के दौरान इस स्कोप का इस्तेमाल करने वाले सभी ऐप्लिकेशन "बिना पुष्टि वाले" के तौर पर दिखेंगे. ऐसा तब तक होगा, जब तक OAuth API की पुष्टि पूरी नहीं हो जाती. निजी इस्तेमाल के लिए Device Access , OAuth API की पुष्टि की ज़रूरत नहीं पड़ती.
अनुमति देने की प्रोसेस के दौरान, आपको "Google ने इस ऐप्लिकेशन की पुष्टि नहीं की है" स्क्रीन दिख सकती है. यह स्क्रीन तब दिखती है, जब Google Cloud में आपकी OAuth सहमति स्क्रीन पर sdm.service
स्कोप कॉन्फ़िगर न किया गया हो. इस स्क्रीन को बायपास करने के लिए, बेहतर विकल्प पर क्लिक करें. इसके बाद, Project
Name (असुरक्षित) पर जाएं पर क्लिक करें.
ज़्यादा जानकारी के लिए, पुष्टि नहीं की गई ऐप्लिकेशन स्क्रीन देखें.
ऐक्सेस टोकन
अनुमति वाले स्ट्रक्चर और डिवाइसों को मैनेज करने के लिए, SDM API को किए जाने वाले सभी कॉल में उस यूनीक ऐक्सेस टोकन का इस्तेमाल किया जाना चाहिए जो developer को अनुमति देने के दौरानuser को दिया गया था. ऐक्सेस टोकन की समयसीमा कम होती है. इसलिए, ऐक्सेस बनाए रखने के लिए, इन्हें समय-समय पर रीफ़्रेश करना ज़रूरी होता है.
अगर a user बाद में किसी स्ट्रक्चर या डिवाइस का ऐक्सेस developer रद्द कर दिया जाता है, तो ऐक्सेस टोकन की समयसीमा तुरंत खत्म हो जाती है और उसे रीफ़्रेश नहीं किया जा सकता. इसके बाद, उसdeveloper को userकी ओर से SDM API को कॉल नहीं किया जा सकेगा.
खाते को ऐक्सेस करने की अनुमति रद्द करना
किसी Google खाते से अनुमति हटाने के कई तरीके हैं. पसंदीदा तरीका यह है कि उपयोगकर्ता, खाते की अनुमतियों में बदलाव करने के लिए, पार्टनर कनेक्शन मैनेजर (पीसीएम) का इस्तेमाल करे. ज़्यादा जानकारी के लिए, खाते की अनुमतियों में बदलाव करना देखें. ऐक्सेस टोकन को इन तरीकों से भी रद्द किया जा सकता है:
उपयोगकर्ता, https://myaccount.google.com/permissions पर जाकर अनुमति रद्द कर सकता है.
डेवलपर, ऐक्सेस टोकन को एंडपॉइंट
https://oauth2.googleapis.com/revoke
को पास कर सकता है. Google OAuth और टोकन रद्द करने के बारे में ज़्यादा जानने के लिए, टोकन रद्द करना लेख पढ़ें.
एम्बेड किए गए वेबव्यू
सुरक्षित ब्राउज़र से जुड़ी नई नीति के तहत, एम्बेड किए गए वेबव्यू के तौर पर आम तौर पर जाने जाने वाली एम्बेड की गई ब्राउज़र लाइब्रेरी में, Google OAuth अनुरोधों पर पाबंदी लगाई गई है. एम्बेड किए गए सभी वेबव्यू ब्लॉक कर दिए जाएंगे. एम्बेड की गई वेबव्यू लाइब्रेरी के लिए समस्याएं पैदा होती हैं. इसकी वजह यह है कि वे किसी अनजान डेवलपर को Google और उसके उपयोगकर्ताओं के बीच होने वाली कम्यूनिकेशन में रुकावट डालने और उसमें बदलाव करने की अनुमति देती हैं. एम्बेड किए गए वेबव्यू से, खाते की सुरक्षा पर ही नहीं, बल्कि आपके ऐप्लिकेशन के इस्तेमाल पर भी असर पड़ सकता है.
अगर आप पर भी इस नीति का असर हुआ है, तो एम्बेड किए गए वेबव्यू में Google OAuth 2.0 ऑथराइज़ेशन एंडपॉइंट में होने वाले सुरक्षा बदलावों के बारे में बताने वाला सहायता लेख पढ़ें.