refresh date: 2026-09-25 robots: noindex
ब्यौरा
OAuth2 ऐक्सेस टोकन पाने के लिए, chrome.identity API का इस्तेमाल करें.
अनुमतियां
identityटाइप
AccountInfo
प्रॉपर्टी
-
id
स्ट्रिंग
खाते के लिए यूनीक आइडेंटिफ़ायर. यह आईडी, खाते के बंद होने तक नहीं बदलेगा.
AccountStatus
Enum
"SYNC"
इससे पता चलता है कि प्राइमरी खाते के लिए सिंक करने की सुविधा चालू है.
"ANY"
इससे यह पता चलता है कि कोई प्राइमरी खाता मौजूद है या नहीं.
GetAuthTokenResult
प्रॉपर्टी
-
grantedScopes
string[] ज़रूरी नहीं है
एक्सटेंशन को दिए गए OAuth2 स्कोप की सूची.
-
टोकन
string ज़रूरी नहीं है
अनुरोध से जुड़ा खास टोकन.
InvalidTokenDetails
प्रॉपर्टी
-
टोकन
स्ट्रिंग
वह टोकन जिसे कैश मेमोरी से हटाना है.
ProfileDetails
प्रॉपर्टी
-
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को कुल मिलाकर, ज़्यादा से ज़्यादा इतने मिलीसेकंड तक नॉन-इंटरैक्टिव मोड में चलने की अनुमति है. यह सिर्फ़ तब काम करता है, जबinteractivefalseहो. -
url
स्ट्रिंग
वह यूआरएल जो पुष्टि करने की प्रोसेस शुरू करता है.
तरीके
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
): Promise<void>
यह Identity API की स्थिति को रीसेट करता है:
- यह फ़ंक्शन, टोकन कैश मेमोरी से सभी OAuth2 ऐक्सेस टोकन हटाता है
- यह कुकी, उपयोगकर्ता के खाते की सेटिंग को हटाती है
- इससे उपयोगकर्ता को सभी ऑथराइज़ेशन फ़्लो से हटा दिया जाता है
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं है
callbackपैरामीटर ऐसा दिखता है:() => void
रिटर्न
-
Promise<void>
Chrome 106 या इसके बाद के वर्शनयह एक प्रॉमिस दिखाता है. जब स्थिति साफ़ हो जाती है, तब यह प्रॉमिस रिज़ॉल्व हो जाता है.
प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getAccounts()
chrome.identity.getAccounts(
callback?: function,
): Promise<AccountInfo[]>
यह प्रोफ़ाइल पर मौजूद खातों की जानकारी देने वाले AccountInfo ऑब्जेक्ट की सूची वापस पाता है.
getAccounts सिर्फ़ डेवलपर चैनल पर काम करता है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं है
callbackपैरामीटर ऐसा दिखता है:(accounts: AccountInfo[]) => void
-
खाते
-
रिटर्न
-
Promise<AccountInfo[]>
प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getAuthToken()
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 या इसके बाद का वर्शन
-
रिटर्न
-
Promise<GetAuthTokenResult>
Chrome 105 या इसके बाद का वर्शनयह एक प्रॉमिस दिखाता है. यह प्रॉमिस, मेनिफ़ेस्ट में बताए गए OAuth2 ऐक्सेस टोकन के साथ रिज़ॉल्व होता है. अगर कोई गड़बड़ी होती है, तो यह प्रॉमिस अस्वीकार कर दिया जाता है.
grantedScopesपैरामीटर, Chrome 87 के बाद से भरा जाता है. उपलब्ध होने पर, इस पैरामीटर में उन स्कोप की सूची होती है जिनके लिए अनुमति दी गई है. ये स्कोप, दिखाए गए टोकन से जुड़े होते हैं.प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
): Promise<ProfileUserInfo>
यह कुकी, किसी प्रोफ़ाइल में साइन इन किए गए उपयोगकर्ता का ईमेल पता और अस्पष्ट किया गया Gaia आईडी वापस लाती है.
इसके लिए, identity.email मेनिफ़ेस्ट की अनुमति ज़रूरी है. ऐसा न होने पर, कोई नतीजा नहीं मिलता.
यह एपीआई, identity.getAccounts से दो तरह से अलग है. जवाब में मिली जानकारी ऑफ़लाइन उपलब्ध है. साथ ही, यह सिर्फ़ प्रोफ़ाइल के प्राथमिक खाते पर लागू होती है.
पैरामीटर
-
ब्यौरा
ProfileDetails ज़रूरी नहीं है
Chrome 84 या इसके बाद का वर्शनप्रोफ़ाइल के विकल्प.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं है
callbackपैरामीटर ऐसा दिखता है:(userInfo: ProfileUserInfo) => void
-
userInfo
-
रिटर्न
-
Promise<ProfileUserInfo>
Chrome 106 या इसके बाद के वर्शनयह एक प्रॉमिस दिखाता है. यह प्रॉमिस, प्राइमरी Chrome खाते के
ProfileUserInfoके साथ रिज़ॉल्व होता है. अगर दिए गएdetailsवाला खाता मौजूद नहीं है, तो यह खालीProfileUserInfoके साथ रिज़ॉल्व होता है.प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getRedirectURL()
chrome.identity.getRedirectURL(
path?: string,
): string
यह launchWebAuthFlow में इस्तेमाल करने के लिए, रीडायरेक्ट यूआरएल जनरेट करता है.
जनरेट किए गए यूआरएल, https://<app-id>.chromiumapp.org/* पैटर्न से मेल खाते हैं.
पैरामीटर
-
पाथ
string ज़रूरी नहीं है
जनरेट किए गए यूआरएल के आखिर में जोड़ा गया पाथ.
रिटर्न
-
स्ट्रिंग
launchWebAuthFlow()
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()
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
-
खाता
-
signedIn
बूलियन
-