ब्यौरा
OAuth2 ऐक्सेस टोकन पाने के लिए, chrome.identity
एपीआई का इस्तेमाल करें.
अनुमतियां
identity
टाइप
AccountInfo
प्रॉपर्टी
-
आईडी
स्ट्रिंग
खाते के लिए यूनीक आइडेंटिफ़ायर. आपके खाते से हमेशा के लिए यह आईडी नहीं बदलेगा.
AccountStatus
Enum
"सिंक"
बताता है कि सिंक करने की सुविधा प्राथमिक खाते के लिए चालू है.
"कोई भी"
प्राथमिक खाते की मौजूदगी के बारे में बताता है, अगर कोई है, तो.
GetAuthTokenResult
प्रॉपर्टी
-
grantedScopes
स्ट्रिंग[] ज़रूरी नहीं
एक्सटेंशन को दिए गए OAuth2 दायरों की सूची.
-
टोकन
स्ट्रिंग ज़रूरी नहीं
अनुरोध से जुड़ा टोकन.
InvalidTokenDetails
प्रॉपर्टी
-
टोकन
स्ट्रिंग
वह टोकन जिसे कैश मेमोरी से हटाया जाना चाहिए.
ProfileDetails
प्रॉपर्टी
-
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.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<AccountInfo[]>
प्रॉमिस सिर्फ़ मेनिफ़ेस्ट 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<GetAuthTokenResult>
Chrome 105 और उसके बाद वाले वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. दूसरे प्लैटफ़ॉर्म को कॉलबैक इस्तेमाल करने होते हैं.
getProfileUserInfo()
chrome.identity.getProfileUserInfo(
details?: ProfileDetails,
callback?: function,
)
प्रोफ़ाइल में साइन इन करने वाले उपयोगकर्ता का ईमेल पता और अस्पष्ट GAIA आईडी हासिल करता है.
इसके लिए, identity.email
मेनिफ़ेस्ट अनुमति की ज़रूरत होती है. ऐसा न होने पर, कोई नतीजा नहीं दिखता.
यह एपीआई, Identity.getAccounts से दो तरीकों से अलग है. वापस की गई जानकारी ऑफ़लाइन उपलब्ध होती है और यह प्रोफ़ाइल के प्राथमिक खाते पर ही लागू होती है.
पैरामीटर
-
विवरण
ProfileDetails ज़रूरी नहीं
Chrome 84 और उसके बाद के वर्शनप्रोफ़ाइल के विकल्प.
-
कॉलबैक
फ़ंक्शन वैकल्पिक
callback
पैरामीटर ऐसा दिखता है:(userInfo: ProfileUserInfo) => void
-
userInfo
-
रिटर्न
-
Promise<ProfileUserInfo>
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
-
खाता
-
signedIn
बूलियन
-