प्राधिकरण

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 का इस्तेमाल करना लेख पढ़ें.

पार्टनर कनेक्शन मैनेजर (पीसीएम)

SDM API, पीसीएम की सुविधा देता है. यह एक ऐसा व्यू है जिसमें उन सभी स्ट्रक्चर, डिवाइसों, और ऐक्सेस के विकल्पों की सूची होती है जिन्हें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
SDM API का दायरा.
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 स्कोप कॉन्फ़िगर न किया गया हो. इस स्क्रीन को बायपास करने के लिए, बेहतर विकल्प पर क्लिक करें. इसके बाद, प्रोजेक्ट के नाम (असुरक्षित) पर जाएं पर क्लिक करें.

ज़्यादा जानकारी के लिए, पुष्टि नहीं की गई ऐप्लिकेशन स्क्रीन देखें.

ऐक्सेस टोकन

अनुमति वाले स्ट्रक्चर और डिवाइसों को मैनेज करने के लिए, SDM API को किए जाने वाले सभी कॉल में, अनुमति देने के दौरान developer user से मिले यूनीक ऐक्सेस टोकन का इस्तेमाल करना ज़रूरी है. ऐक्सेस टोकन की समयसीमा कम होती है. इसलिए, ऐक्सेस बनाए रखने के लिए, इन्हें समय-समय पर रीफ़्रेश करना ज़रूरी होता है.

अगर a user बाद में किसी स्ट्रक्चर या डिवाइस का ऐक्सेस रद्द करता है developer , तो ऐक्सेस टोकन तुरंत खत्म हो जाता है और उसे रीफ़्रेश नहीं किया जा सकता. साथ ही,developer उसके लिए SDM API को कॉल नहीं कर पाएगा user.

खाते को ऐक्सेस करने की अनुमति रद्द करना

किसी Google खाते से अनुमति हटाने के कई तरीके हैं. खाते की अनुमतियों में बदलाव करने के लिए, उपयोगकर्ता को Partner Connections Manager (PCM) का इस्तेमाल करना चाहिए. ज़्यादा जानकारी के लिए, खाते की अनुमतियों में बदलाव करना देखें. ऐक्सेस टोकन को इन तरीकों से भी रद्द किया जा सकता है:

  1. उपयोगकर्ता, https://myaccount.google.com/permissions पर जाकर, अनुमति रद्द कर सकता है.

  2. डेवलपर, ऐक्सेस टोकन को एंडपॉइंट https://oauth2.googleapis.com/revoke को पास कर सकता है. Google OAuth और टोकन रद्द करने के बारे में ज़्यादा जानने के लिए, टोकन रद्द करना लेख पढ़ें.

एम्बेड किए गए वेबव्यू

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

अगर इस नीति का असर आप पर पड़ता है, तो एम्बेड किए गए वेबव्यू में, Google के OAuth 2.0 अनुमति वाले एंडपॉइंट में होने वाले सुरक्षा से जुड़े बदलाव के बारे में सहायता लेख पढ़ें.