chrome.identity

refresh date: 2026-09-25 robots: noindex

ब्यौरा

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

अनुमतियां

identity

टाइप

AccountInfo

प्रॉपर्टी

  • id

    स्ट्रिंग

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

AccountStatus

Chrome 84 या इसके बाद का वर्शन

Enum

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

"ANY"
इससे यह पता चलता है कि कोई प्राइमरी खाता मौजूद है या नहीं.

GetAuthTokenResult

Chrome 105 या इसके बाद का वर्शन

प्रॉपर्टी

  • grantedScopes

    string[] ज़रूरी नहीं है

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

  • टोकन

    string ज़रूरी नहीं है

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

InvalidTokenDetails

प्रॉपर्टी

  • टोकन

    स्ट्रिंग

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

ProfileDetails

Chrome 84 या इसके बाद का वर्शन

प्रॉपर्टी

  • accountStatus

    AccountStatus optional

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

ProfileUserInfo

प्रॉपर्टी

  • ईमेल

    स्ट्रिंग

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

  • id

    स्ट्रिंग

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

TokenDetails

प्रॉपर्टी

  • खाता

    AccountInfo ज़रूरी नहीं

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

  • enableGranularPermissions

    boolean ज़रूरी नहीं है

    Chrome 87 या इसके बाद का वर्शन

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

  • इंटरैक्टिव

    boolean ज़रूरी नहीं है

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

  • स्कोप

    string[] ज़रूरी नहीं है

    अनुरोध किए जाने वाले OAuth2 स्कोप की सूची.

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

WebAuthFlowDetails

प्रॉपर्टी

  • abortOnLoadForNonInteractive

    boolean ज़रूरी नहीं है

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

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

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

  • इंटरैक्टिव

    boolean ज़रूरी नहीं है

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

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

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

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

  • timeoutMsForNonInteractive

    number optional

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

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

  • url

    स्ट्रिंग

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

तरीके

clearAllCachedAuthTokens()

Promise Chrome 87 या इसके बाद के वर्शन
chrome.identity.clearAllCachedAuthTokens(
  callback?: function,
)
: Promise<void>

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

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

    () => void

रिटर्न

  • Promise<void>

    Chrome 106 या इसके बाद के वर्शन

    यह एक प्रॉमिस दिखाता है. जब स्थिति साफ़ हो जाती है, तब यह प्रॉमिस रिज़ॉल्व हो जाता है.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getAccounts()

Promise डेव चैनल
chrome.identity.getAccounts(
  callback?: function,
)
: Promise<AccountInfo[]>

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

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

    (accounts: AccountInfo[]) => void

रिटर्न

  • Promise<AccountInfo[]>

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getAuthToken()

Promise
chrome.identity.getAuthToken(
  details?: TokenDetails,
  callback?: function,
)
: Promise<GetAuthTokenResult>

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

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

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

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

पैरामीटर

  • ब्यौरा

    TokenDetails optional

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

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

    (result: GetAuthTokenResult) => void

    • नतीजा
      Chrome 105 या इसके बाद का वर्शन

रिटर्न

  • Chrome 105 या इसके बाद का वर्शन

    यह एक प्रॉमिस दिखाता है. यह प्रॉमिस, मेनिफ़ेस्ट में बताए गए OAuth2 ऐक्सेस टोकन के साथ रिज़ॉल्व होता है. अगर कोई गड़बड़ी होती है, तो यह प्रॉमिस अस्वीकार कर दिया जाता है. grantedScopes पैरामीटर, Chrome 87 के बाद से भरा जाता है. उपलब्ध होने पर, इस पैरामीटर में उन स्कोप की सूची होती है जिनके लिए अनुमति दी गई है. ये स्कोप, दिखाए गए टोकन से जुड़े होते हैं.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getProfileUserInfo()

Promise
chrome.identity.getProfileUserInfo(
  details?: ProfileDetails,
  callback?: function,
)
: Promise<ProfileUserInfo>

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

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

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

पैरामीटर

  • ब्यौरा

    ProfileDetails ज़रूरी नहीं है

    Chrome 84 या इसके बाद का वर्शन

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

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

    (userInfo: ProfileUserInfo) => void

रिटर्न

  • Chrome 106 या इसके बाद के वर्शन

    यह एक प्रॉमिस दिखाता है. यह प्रॉमिस, प्राइमरी Chrome खाते के ProfileUserInfo के साथ रिज़ॉल्व होता है. अगर दिए गए details वाला खाता मौजूद नहीं है, तो यह खाली ProfileUserInfo के साथ रिज़ॉल्व होता है.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getRedirectURL()

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

यह launchWebAuthFlow में इस्तेमाल करने के लिए, रीडायरेक्ट यूआरएल जनरेट करता है.

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

पैरामीटर

  • पाथ

    string ज़रूरी नहीं है

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

रिटर्न

  • स्ट्रिंग

launchWebAuthFlow()

Promise
chrome.identity.launchWebAuthFlow(
  details: WebAuthFlowDetails,
  callback?: function,
)
: Promise<string | undefined>

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

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

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

पैरामीटर

  • ब्यौरा

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

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

    (responseUrl?: string) => void

    • responseUrl

      string ज़रूरी नहीं है

रिटर्न

  • Promise<string | undefined>

    Chrome 106 या इसके बाद के वर्शन

    यह एक प्रॉमिस दिखाता है. यह प्रॉमिस, उस यूआरएल के साथ रिज़ॉल्व होता है जिस पर उपयोगकर्ता को वापस आपके ऐप्लिकेशन पर रीडायरेक्ट किया जाता है.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

removeCachedAuthToken()

Promise
chrome.identity.removeCachedAuthToken(
  details: InvalidTokenDetails,
  callback?: function,
)
: Promise<void>

यह कुकी, Identity API के टोकन कैश मेमोरी से OAuth2 ऐक्सेस टोकन को हटाती है.

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

पैरामीटर

  • ब्यौरा

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

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

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

    () => void

रिटर्न

  • Promise<void>

    Chrome 106 या इसके बाद के वर्शन

    यह एक प्रॉमिस दिखाता है. यह प्रॉमिस तब रिज़ॉल्व होता है, जब टोकन को कैश मेमोरी से हटा दिया जाता है.

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

इवेंट

onSignInChanged

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

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