कंपनी का ब्यौरा
OAuth2 ऐक्सेस टोकन पाने के लिए, chrome.identity
API का इस्तेमाल करें.
अनुमतियां
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 का इस्तेमाल करने वाले फ़्लो के लिए,
abortOnLoadForNonInteractive
कोfalse
पर सेट किया जा सकता है और साथ मेंtimeoutMsForNonInteractive
को भी सेट किया जा सकता है. इससे पेज को किसी भी तरह के रीडायरेक्ट करने का मौका मिलता है. -
timeoutMsForNonInteractive
नंबर ज़रूरी नहीं
Chrome 113 और इसके बाद के वर्शनlaunchWebAuthFlow
ज़्यादा से ज़्यादा समय, मिलीसेकंड में, नॉन-इंटरैक्टिव मोड में चल सकता है. यह सिर्फ़ तब लागू होगा, जबinteractive
false
हो. -
यूआरएल
स्ट्रिंग
वह यूआरएल जिससे पुष्टि करने की प्रक्रिया शुरू होती है.
तरीके
clearAllCachedAuthTokens()
chrome.identity.clearAllCachedAuthTokens(
callback?: function,
)
Identity API की स्थिति को रीसेट करता है:
- टोकन की कैश मेमोरी से सभी OAuth2 ऐक्सेस टोकन को हटाता है
- उपयोगकर्ता की खाता प्राथमिकताएं हटा देता है
- पुष्टि करने की सभी प्रक्रियाओं से उपयोगकर्ता की अनुमति हटाता है
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
लौटाए गए प्रॉडक्ट
-
Promise<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
स्ट्रिंग ज़रूरी नहीं
-
लौटाए गए प्रॉडक्ट
-
Promise<string | undefined>
Chrome 106 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
removeCachedAuthToken()
chrome.identity.removeCachedAuthToken(
details: InvalidTokenDetails,
callback?: function,
)
पहचान एपीआई के टोकन कैश से OAuth2 ऐक्सेस टोकन को हटाता है.
अगर किसी ऐक्सेस टोकन के अमान्य होने का पता चलता है, तो उसे कैश मेमोरी से हटाने के लिए, remove cachedAuthToken को पास किया जाना चाहिए. इसके बाद, ऐप्लिकेशन getAuthToken
से नया टोकन हासिल कर सकता है.
पैरामीटर
-
जानकारी
टोकन की जानकारी.
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं
callback
पैरामीटर ऐसा दिखता है:() => void
लौटाए गए प्रॉडक्ट
-
Promise<void>
Chrome 106 और इसके बाद के वर्शनप्रॉमिस सिर्फ़ मेनिफ़ेस्ट V3 और उसके बाद के वर्शन पर काम करता है. अन्य प्लैटफ़ॉर्म के लिए कॉलबैक का इस्तेमाल करना ज़रूरी है.
इवेंट
onSignInChanged
chrome.identity.onSignInChanged.addListener(
callback: function,
)
उपयोगकर्ता की प्रोफ़ाइल पर किसी खाते के लिए साइन इन की स्थिति बदलने पर सक्रिय होता है.
पैरामीटर
-
कॉलबैक
function
callback
पैरामीटर ऐसा दिखता है:(account: AccountInfo, signedIn: boolean) => void
-
खाता
-
signedIn
boolean
-