chrome.identity

ब्यौरा

OAuth2 ऐक्सेस टोकन पाने के लिए, chrome.identity एपीआई का इस्तेमाल करें.

अनुमतियां

identity

टाइप

AccountInfo

प्रॉपर्टी

  • आईडी

    स्ट्रिंग

    खाते के लिए यूनीक आइडेंटिफ़ायर. आपके खाते से हमेशा के लिए यह आईडी नहीं बदलेगा.

AccountStatus

Chrome 84 और उसके बाद के वर्शन

Enum

"सिंक"
बताता है कि सिंक करने की सुविधा प्राथमिक खाते के लिए चालू है.

"कोई भी"
प्राथमिक खाते की मौजूदगी के बारे में बताता है, अगर कोई है, तो.

GetAuthTokenResult

Chrome 105 और उसके बाद वाले वर्शन

प्रॉपर्टी

  • grantedScopes

    स्ट्रिंग[] ज़रूरी नहीं

    एक्सटेंशन को दिए गए OAuth2 दायरों की सूची.

  • टोकन

    स्ट्रिंग ज़रूरी नहीं

    अनुरोध से जुड़ा टोकन.

InvalidTokenDetails

प्रॉपर्टी

  • टोकन

    स्ट्रिंग

    वह टोकन जिसे कैश मेमोरी से हटाया जाना चाहिए.

ProfileDetails

Chrome 84 और उसके बाद के वर्शन

प्रॉपर्टी

  • accountStatus

    AccountStatus ज़रूरी नहीं

    उस प्राथमिक खाते की स्थिति जिससे उस प्रोफ़ाइल में साइन इन किया गया है जिसका ProfileUserInfo दिखाया जाना है. डिफ़ॉल्ट रूप से, SYNC खाते का स्टेटस सेट होता है.

ProfileUserInfo

प्रॉपर्टी

  • ईमेल

    स्ट्रिंग

    उपयोगकर्ता खाते का ईमेल पता, जिससे मौजूदा प्रोफ़ाइल में साइन इन किया गया हो. अगर उपयोगकर्ता ने साइन इन नहीं किया है या identity.email मेनिफ़ेस्ट की अनुमति के बारे में नहीं बताया गया है, तो इस फ़ील्ड को खाली करें.

  • आईडी

    स्ट्रिंग

    खाते के लिए यूनीक आइडेंटिफ़ायर. आपके खाते से हमेशा के लिए यह आईडी नहीं बदलेगा. अगर उपयोगकर्ता ने साइन इन नहीं किया है या (M41+ में) identity.email मेनिफ़ेस्ट अनुमति नहीं बताई गई है, तो इस फ़ील्ड को खाली करें.

TokenDetails

प्रॉपर्टी

  • खाता

    AccountInfo वैकल्पिक

    वह खाता आईडी जिसका टोकन लौटाया जाना है. अगर तय नहीं किया गया है, तो फ़ंक्शन Chrome प्रोफ़ाइल से किसी खाते का इस्तेमाल करेगा: अगर कोई खाता है, तो सिंक खाता या दूसरा Google वेब खाता.

  • enableGranularPermissions

    बूलियन ज़रूरी नहीं

    Chrome 87+

    enableGranularPermissions फ़्लैग की मदद से, एक्सटेंशन को अनुमतियों के बारे में जानकारी देने वाली उस स्क्रीन पर जल्दी ऑप्ट-इन किया जा सकता है जिसमें अनुमतियों के लिए अनुरोध किया जाता है. यह अनुमति अलग-अलग मिलती है या अस्वीकार की जाती है.

  • इंटरैक्टिव

    बूलियन ज़रूरी नहीं

    टोकन फ़ेच करने के लिए उपयोगकर्ता को Chrome में साइन-इन करना पड़ सकता है या ऐप्लिकेशन के अनुरोध किए गए दायरों को स्वीकार करना पड़ सकता है. अगर इंटरैक्टिव फ़्लैग true है, तो getAuthToken ज़रूरत पड़ने पर उपयोगकर्ता को सूचना देगा. अगर फ़्लैग false है या हटा दिया गया है, तो किसी भी समय प्रॉम्प्ट की ज़रूरत होगी और getAuthToken फ़ंक्शन काम नहीं करेगा.

  • स्कोप

    स्ट्रिंग[] ज़रूरी नहीं

    अनुरोध करने के लिए, OAuth2 दायरों की सूची.

    जब scopes फ़ील्ड मौजूद होता है, तो यह Manifest.json में दिए गए स्कोप की सूची को बदल देता है.

WebAuthFlowDetails

प्रॉपर्टी

  • abortOnLoadForNonInteractive

    बूलियन ज़रूरी नहीं

    Chrome 113 और उसके बाद वाले वर्शन

    पेज लोड होने के बाद, नॉन-इंटरैक्टिव अनुरोधों के लिए launchWebAuthFlow को खत्म करना है या नहीं. इस पैरामीटर से, इंटरैक्टिव फ़्लो पर कोई असर नहीं पड़ता.

    true (डिफ़ॉल्ट) पर सेट होने पर, पेज लोड होते ही फ़्लो तुरंत खत्म हो जाएगा. false पर सेट करने पर, timeoutMsForNonInteractive के पास होने के बाद ही फ़्लो खत्म होगा. यह उन पहचान देने वाली कंपनियों के लिए काम का है जो पेज लोड होने के बाद JavaScript का इस्तेमाल करके रीडायरेक्ट करती हैं.

  • इंटरैक्टिव

    बूलियन ज़रूरी नहीं

    इंटरैक्टिव मोड में पुष्टि करने का फ़्लो लॉन्च करना है या नहीं.

    कुछ ऑथराइज़ेशन फ़्लो, किसी नतीजे के यूआरएल पर तुरंत रीडायरेक्ट हो सकते हैं. इसलिए, launchWebAuthFlow अपने वेब व्यू को तब तक छिपाता रहता है, जब तक कि पहला नेविगेशन या तो फ़ाइनल यूआरएल पर रीडायरेक्ट न हो जाए या दिखने वाले पेज को पूरी तरह लोड न कर ले.

    अगर interactive फ़्लैग true है, तो पेज लोड पूरा होने पर विंडो दिखेगी. अगर फ़्लैग false है या हटा दिया गया है, तो शुरुआती नेविगेशन फ़्लो को पूरा नहीं करने पर launchWebAuthFlow गड़बड़ी के साथ दिखेगा.

    रीडायरेक्ट करने के लिए JavaScript का इस्तेमाल करने वाले फ़्लो के लिए, timeoutMsForNonInteractive को सेट करने के साथ-साथ abortOnLoadForNonInteractive को false पर सेट किया जा सकता है, ताकि पेज किसी भी तरह के रीडायरेक्ट को कर सके.

  • timeoutMsForNonInteractive

    नंबर वैकल्पिक

    Chrome 113 और उसके बाद वाले वर्शन

    नॉन-इंटरैक्टिव मोड में ज़्यादा से ज़्यादा launchWebAuthFlow को मिलीसेकंड में चलाया जा सकता है. इसका असर सिर्फ़ तब होता है, जब interactive, false पर हो.

  • url

    स्ट्रिंग

    पुष्टि करने की प्रक्रिया शुरू करने वाला यूआरएल.

तरीके

clearAllCachedAuthTokens()

प्रॉमिस Chrome 87 और उसके बाद वाले वर्शन के लिए
chrome.identity.clearAllCachedAuthTokens(
  callback?: function,
)

Identity API की स्थिति रीसेट करता है:

  • टोकन कैश मेमोरी से सभी OAuth2 ऐक्सेस टोकन हटा दिए जाते हैं
  • उपयोगकर्ता की खाता प्राथमिकताएं हटाता है
  • सभी ऑथराइज़ेशन फ़्लो से उपयोगकर्ता का अधिकार हटा देता है

पैरामीटर

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • प्रॉमिस<void>

    Chrome 106 और उसके बाद वाले वर्शन

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

getAccounts()

प्रॉमिस डेव चैनल
chrome.identity.getAccounts(
  callback?: function,
)

प्रोफ़ाइल पर मौजूद खातों का ब्यौरा देने वाले AccountInfo ऑब्जेक्ट की सूची फिर से लाता है.

getAccounts सिर्फ़ डेव चैनल पर काम करता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (accounts: AccountInfo[]) => void

रिटर्न

  • Promise&lt;AccountInfo[]&gt;

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

getAuthToken()

प्रॉमिस
chrome.identity.getAuthToken(
  details?: TokenDetails,
  callback?: function,
)

यह क्लाइंट आईडी और Manifest.json के oauth2 सेक्शन में दिए गए स्कोप का इस्तेमाल करके, OAuth2 ऐक्सेस टोकन देता है.

Identity API, मेमोरी में ऐक्सेस टोकन को कैश मेमोरी में सेव करता है. इसलिए, जब भी टोकन की ज़रूरत हो, तब getAuthToken को नॉन-इंटरैक्टिव तरीके से कॉल किया जा सकता है. टोकन कैश मेमोरी, समयसीमा खत्म होने को अपने-आप मैनेज करती है.

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

ध्यान दें: जब कॉलबैक के साथ कॉल किया जाता है, तो यह फ़ंक्शन, ऑब्जेक्ट को लौटाने के बजाय, कॉलबैक को पास किए गए अलग-अलग आर्ग्युमेंट के तौर पर दो प्रॉपर्टी दिखाता है.

पैरामीटर

  • विवरण

    TokenDetails ज़रूरी नहीं

    टोकन के विकल्प.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (result: GetAuthTokenResult) => void

    • नतीजा
      Chrome 105 और उसके बाद वाले वर्शन

रिटर्न

  • Promise&lt;GetAuthTokenResult&gt;

    Chrome 105 और उसके बाद वाले वर्शन

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

getProfileUserInfo()

प्रॉमिस
chrome.identity.getProfileUserInfo(
  details?: ProfileDetails,
  callback?: function,
)

प्रोफ़ाइल में साइन इन करने वाले उपयोगकर्ता का ईमेल पता और अस्पष्ट GAIA आईडी हासिल करता है.

इसके लिए, identity.email मेनिफ़ेस्ट अनुमति की ज़रूरत होती है. ऐसा न होने पर, कोई नतीजा नहीं दिखता.

यह एपीआई, Identity.getAccounts से दो तरीकों से अलग है. वापस की गई जानकारी ऑफ़लाइन उपलब्ध होती है और यह प्रोफ़ाइल के प्राथमिक खाते पर ही लागू होती है.

पैरामीटर

  • विवरण

    ProfileDetails ज़रूरी नहीं

    Chrome 84 और उसके बाद के वर्शन

    प्रोफ़ाइल के विकल्प.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (userInfo: ProfileUserInfo) => void

रिटर्न

  • Promise&lt;ProfileUserInfo&gt;

    Chrome 106 और उसके बाद वाले वर्शन

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

getRedirectURL()

chrome.identity.getRedirectURL(
  path?: string,
)

launchWebAuthFlow में इस्तेमाल करने के लिए, दूसरा वेबलिंक जनरेट करता है.

जनरेट किए गए यूआरएल, https://<app-id>.chromiumapp.org/* पैटर्न से मेल खाते हैं.

पैरामीटर

  • पाथ

    स्ट्रिंग ज़रूरी नहीं

    पाथ को जनरेट किए गए यूआरएल के आखिर में जोड़ा गया था.

रिटर्न

  • स्ट्रिंग

launchWebAuthFlow()

प्रॉमिस
chrome.identity.launchWebAuthFlow(
  details: WebAuthFlowDetails,
  callback?: function,
)

तय किए गए यूआरएल पर पुष्टि करने की प्रक्रिया शुरू करता है.

यह तरीका, वेब व्यू लॉन्च करके और सेवा देने वाली कंपनी के पुष्टि करने के फ़्लो में पहले यूआरएल पर नेविगेट करके, पहचान देने वाली ऐसी कंपनियों के साथ पुष्टि करने के फ़्लो को चालू करता है जो Google की नहीं हैं. जब कंपनी, पैटर्न https://<app-id>.chromiumapp.org/* से मेल खाने वाले यूआरएल पर रीडायरेक्ट करती है, तो विंडो बंद हो जाएगी और फ़ाइनल रीडायरेक्ट यूआरएल को callback फ़ंक्शन में पास कर दिया जाएगा.

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

पैरामीटर

  • विवरण

    WebAuth फ़्लो के विकल्प.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    (responseUrl?: string) => void

    • responseUrl

      स्ट्रिंग ज़रूरी नहीं

रिटर्न

  • प्रॉमिस<string | तय नहीं है>

    Chrome 106 और उसके बाद वाले वर्शन

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

removeCachedAuthToken()

प्रॉमिस
chrome.identity.removeCachedAuthToken(
  details: InvalidTokenDetails,
  callback?: function,
)

पहचान एपीआई की टोकन कैश मेमोरी से OAuth2 ऐक्सेस टोकन को हटाता है.

अगर किसी ऐक्सेस टोकन के अमान्य होने का पता चलता है, तो उसे कैश मेमोरी से हटाने के लिए, removed कैश मेमोरी में सेव किए गए ऑथराइज़ेशनToken को पास करना चाहिए. इसके बाद, ऐप्लिकेशन, getAuthToken से नया टोकन पा सकता है.

पैरामीटर

  • विवरण

    टोकन की जानकारी.

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

    callback पैरामीटर ऐसा दिखता है:

    () => void

रिटर्न

  • प्रॉमिस<void>

    Chrome 106 और उसके बाद वाले वर्शन

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

इवेंट

onSignInChanged

chrome.identity.onSignInChanged.addListener(
  callback: function,
)

उपयोगकर्ता की प्रोफ़ाइल पर मौजूद किसी खाते की साइन इन स्थिति में बदलाव होने पर सक्रिय होता है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (account: AccountInfo, signedIn: boolean) => void