Chrome 128 से, Multi-IdP API डेस्कटॉप पर ऑरिजिन ट्रायल शुरू कर रहा है. साथ ही, Button Mode API और Continuation bundle Android पर ऑरिजिन ट्रायल शुरू कर रहे हैं. मल्टी आईडीपी सुविधा की मदद से, डेवलपर get() कॉल में, पहचान देने वाली कई सेवाओं का कलेक्शन तय कर सकते हैं. बटन मोड एपीआई, एक नया यूज़र इंटरफ़ेस (यूआई) जोड़ता है. बटन मोड एपीआई की मदद से, आइडेंटिटी प्रोवाइडर (आईडीपी), FedCM API का इस्तेमाल कर सकते हैं. भले ही, एपीआई कॉल के दौरान उनके उपयोगकर्ताओं के पास चालू IdP सेशन न हों. कंटिन्यूएशन बंडल में कंटिन्यूएशन एपीआई और पैरामीटर एपीआई शामिल होते हैं. ये दोनों, OAuth ऑथराइज़ेशन फ़्लो जैसा अनुभव देते हैं. इसमें IdP की ओर से उपलब्ध कराया गया अनुमति वाला डायलॉग शामिल होता है. इस बंडल में, Fields API, एक से ज़्यादा configURL, और कस्टम खाता लेबल जैसे अन्य बदलाव भी शामिल हैं.
ऑरिजिन ट्रायल: मल्टी आईडीपी एपीआई
इस सुविधा की मदद से, उपयोगकर्ता उन खातों में से कोई एक खाता चुन सकते हैं जो IdP के साथ काम करते हैं. साथ ही, RP को साइन इन और साइन अप करने की ज़्यादा दरों का फ़ायदा मिलता है. अगर उपयोगकर्ता ने एक से ज़्यादा आईडीपी (IdP) से लॉग इन किया है, तो उसे किसी एक आईडीपी (IdP) का इस्तेमाल करके आरपी (RP) में साइन इन करने के लिए कहा जाएगा.
उपयोगकर्ता के मौजूदा खातों और उनसे जुड़े टाइमस्टैंप के आधार पर, IdP को प्राथमिकता दी जाती है.
- अगर उपयोगकर्ता ने पहले किसी आईडीपी (जैसे कि "लौटने वाला खाता") का इस्तेमाल करके आरपी में लॉग इन किया है, तो उन आईडीपी को सबसे ऊपर दिखाया जाएगा.
- लौटने वाले खातों में, IdP को उनके सबसे हाल ही के इस्तेमाल के टाइमस्टैंप के हिसाब से क्रम में लगाया जाता है. इसमें, सबसे हाल ही में इस्तेमाल किया गया IdP, सूची में सबसे ऊपर दिखता है. कुछ मामलों में, Chrome के पास वापस आने वाले खाते के लिए टाइमस्टैंप का डेटा नहीं हो सकता. ऐसा इसलिए हो सकता है, क्योंकि उपयोगकर्ता ने FedCM में टाइमस्टैंप लॉग लागू होने से पहले साइन इन किया था. टाइमस्टैंप वाले खातों के नीचे, इन खातों की सूची दी गई है.
- अगर उपयोगकर्ता के पास किसी भी आईडीपी के साथ कोई भी ऐसा खाता नहीं है जिससे वह पहले भी लॉग इन कर चुका हो, तो आरपी के दिए गए क्रम का पालन किया जाता है.
अगर डेवलपर अनुरोध करता है और एक ही खाते से बार-बार साइन इन किया जाता है, तो FedCM की मदद से, पुष्टि करने की प्रोसेस अपने-आप शुरू हो जाती है. मल्टी आईडीपी के मामले में, अगर कई आईडीपी के लिए वापस आने वाले खाते मौजूद हैं, तो उपयोगकर्ता की पुष्टि अपने-आप नहीं होगी. ऑटोमैटिक तरीके से फिर से पुष्टि करने की सुविधा के लिए, आपके पास ऐसा खाता होना ज़रूरी है जिसका इस्तेमाल पहले भी किया गया हो. ब्राउज़र, पुष्टि करने की प्रोसेस अपने-आप तब शुरू करेगा, जब ब्राउज़र ने खाते की पहचान कर ली हो. इसका मतलब है कि उपयोगकर्ता ने इस आरपी पर, इस खास खाते के साथ FedCM का इस्तेमाल पहले किया हो.
अगर उपयोगकर्ता का लॉगिन स्टेटस किसी IdP के लिए लॉग-आउट पर सेट है, तो FedCM को कॉल करने पर उस IdP के लिए खाते नहीं मिलते. इसी तरह, अगर उपयोगकर्ता का स्टेटस सभी उपलब्ध IdP के लिए लॉग-आउट है, तो विजेट मोड में FedCM साइन-इन प्रॉम्प्ट अपने-आप नहीं दिखता.
अगर ब्राउज़र में किसी आईडीपी के लिए सेव किया गया लॉगिन स्टेटस, लॉग-इन के तौर पर सेव किया गया था, लेकिन फ़ेच करने के अनुरोध से इस आईडीपी के लिए कोई खाता नहीं मिला (उदाहरण के लिए, अगर उपयोगकर्ता का सेशन खत्म हो गया है, लेकिन ब्राउज़र ने लॉगिन स्टेटस को अब तक अपडेट नहीं किया है), तो आईडीपी के लिए बेमेल यूज़र इंटरफ़ेस (यूआई) दिखाया जाता है. इसमें उपयोगकर्ता को बेमेल आईडीपी से साइन इन करने का सुझाव दिया जाता है.
लॉगिन की स्थिति के बारे में ज़्यादा जानकारी के लिए, दस्तावेज़ देखें. लागू करने के बारे में ज़्यादा जानकारी के लिए, डेवलपर गाइड देखें.
ऑरिजिन ट्रायल: मल्टी आईडीपी एपीआई
उपयोगकर्ता के तौर पर, डेमो आरपी पर Multi IdP API को आज़माया जा सकता है. इसके अलावा, डेवलपर के तौर पर Chrome 128 या इसके नए वर्शन का इस्तेमाल करके भी इसे आज़माया जा सकता है.
उपयोगकर्ता के तौर पर इसे आज़माएं
उपयोगकर्ता के तौर पर, इसे खुद आज़माएं. पक्का करें कि:
- Chrome को इस पेज पर, तीसरे पक्ष के साइन-इन करने के अनुरोधों को ब्लॉक करने के लिए कॉन्फ़िगर नहीं किया गया है:
chrome://settings/content/federatedIdentityApi. - आपने एक से ज़्यादा डेमो IdP में साइन इन किया हो. डेमो पेज पर दिए गए निर्देशों का पालन करें.
ध्यान दें कि जिन साइटों का ऑरिजिन, ऑरिजिन ट्रायल के लिए रजिस्टर नहीं किया गया है उन पर Multi-IdP को आज़माने के लिए, आपको chrome://flags/#fedcm-multi-idp में जाकर फ़ीचर फ़्लैग चालू करना होगा.
डेवलपर के तौर पर इसे आज़माएं
अगर लॉगिन की सुविधा देने वाली कंपनी ने आरपी (सुझाया गया) पर JavaScript SDK एम्बेड किया है, तो navigator.credentials.get() कॉल करके, एक से ज़्यादा IdP चालू करने की सुविधा को कंपनी लागू कर सकती है. साथ ही, आरपी डेवलपर को अपने कोड में बदलाव करने की ज़रूरत नहीं होगी. अगर ऐसा नहीं है, तो आरपी को FedCM API को खुद कॉल करना होगा.
किसी आरपी पर एक से ज़्यादा आईडीपी की जांच करने के लिए, काम करने वाले प्रोवाइडर के कलेक्शन को इस तरह से बताएं:
try {
const cred = await navigator.credentials.get({
identity: {
providers: [
{
configUrl: "https://idp1.example/foo.json", // first IdP
clientId: "123",
},
{
configUrl: "https://idp2.example/bar.json", // second IdP
clientId: "456",
}
]
}
});
const token = cred.token;
const currentConfigFileUrl = cred.configURL;
if (cred.configURL === 'https://idp1.example/foo.json') {
// handle the token for idp1.example
} else if (cred.configURL === 'https://idp2.example/bar.json') {
// handle the token for idp2.example
}
} catch (error) {
console.error("Error during credential retrieval:", error);
}
नतीजे के तौर पर मिले ऑब्जेक्ट में मौजूद configURL एट्रिब्यूट, उस IdP के कॉन्फ़िगरेशन फ़ाइल का यूआरएल सेव करता है जिससे उपयोगकर्ता ने पुष्टि की है. आरपी यह तय कर सकता है कि नतीजे में मिले token को कैसे हैंडल करना है, क्योंकि यह IdP के हिसाब से अलग-अलग होता है.
ऑरिजिन ट्रायल में हिस्सा लेना
ऑरिजिन ट्रायल से, नई सुविधाओं को आज़माया जा सकता है. साथ ही, उनके इस्तेमाल, व्यावहारिक होने, और असरदार होने के बारे में सुझाव/राय दी जा सकती है या शिकायत की जा सकती है. ज़्यादा जानकारी के लिए, ऑरिजिन ट्रायल का इस्तेमाल शुरू करना लेख पढ़ें.
Chrome 128 से शुरू होने वाले ऑरिजिन ट्रायल के लिए रजिस्टर करके, Multi IdP सुविधा को आज़माया जा सकता है.
मल्टी आईडीपी आज़माने के लिए, कोई आरपी अपने ऑरिजिन को रजिस्टर कर सकता है. साथ ही, पहले पक्ष के ऑरिजिन का ट्रायल चला सकता है. आईडीपी के पास, तीसरे पक्ष के ऑरिजिन के लिए उपलब्ध कराए गए ट्रायल के लिए रजिस्टर करने का विकल्प भी होता है. इससे, JavaScript SDK का इस्तेमाल करने वाले सभी आरपी के लिए, मल्टी आईडीपी सुविधा उपलब्ध हो जाती है.
ऑरिजिन ट्रायल में हिस्सा लेने का तरीका:
- Multi IdP API के ऑरिजिन ट्रायल के रजिस्ट्रेशन पेज पर जाएं. 2. रजिस्टर करें बटन पर क्लिक करें और टोकन का अनुरोध करने के लिए फ़ॉर्म भरें.
- पहले पक्ष की ओरिजिन ट्रायल के लिए रजिस्टर करने के लिए, "वेब ओरिजिन" फ़ील्ड में आरपी का ओरिजिन डालें. तीसरे पक्ष के ऑरिजिन के लिए ट्रायल के तौर पर, IdP के JavaScript SDK का ऑरिजिन डालें. इसके बाद, "तीसरे पक्ष की मैचिंग" बॉक्स पर सही का निशान लगाएं.
- सबमिट करें पर क्लिक करें.
- आरपी पेज पर जारी किया गया टोकन डालें:
- पहली पार्टी के ओरिजिन ट्रायल में हिस्सा लेने वाले लोगों के लिए:
-
<head>में मेटा टैग के तौर पर:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">- एचटीटीपी हेडर के तौर पर:Origin-Trial: TOKEN_GOES_HERE - तीसरे पक्ष की ऑरिजिन ट्रायल में हिस्सा लेने वाले लोगों के लिए: - प्रोग्राम के हिसाब से टोकन उपलब्ध कराकर.
- पहली पार्टी के ओरिजिन ट्रायल में हिस्सा लेने वाले लोगों के लिए:
-
Android पर Chrome के लिए, Button Mode API
Chrome के वर्शन 128 से, Android पर Chrome में Button Mode API का ऑरिजिन ट्रायल शुरू होगा. इससे पहले, डेस्कटॉप पर इसका ट्रायल किया गया था. बटन मोड एपीआई की मदद से, आइडेंटिटी प्रोवाइडर FedCM API का इस्तेमाल कर सकते हैं. भले ही, एपीआई कॉल के दौरान उनके उपयोगकर्ता, IdP से लॉग आउट हो गए हों. साइन-इन करने की प्रोसेस, उपयोगकर्ता के जेस्चर से शुरू होती है. इससे उपयोगकर्ता के इरादे का पता चलता है.
Chrome 128 में, एक नई सुविधा जोड़ी गई है. इसकी मदद से, IdP सीधे तौर पर क्लाइंट मेटाडेटा एंडपॉइंट के जवाब में, RP के आधिकारिक लोगो आइकॉन को शामिल कर सकते हैं. इससे बटन मोड में मोबाइल डिवाइसों पर यूज़र इंटरफ़ेस (यूआई) बेहतर होता है.
कॉन्फ़िगरेशन फ़ाइल में आईडीपी (IdP) ब्रैंडिंग की तरह ही, आरपी (RP) के आइकॉन को आईडीपी (IdP) की तरफ़ से कॉन्फ़िगर किया जा सकता है. साथ ही, इन्हें client_metadata_endpoint रिस्पॉन्स में इस तरह से दिखाया जा सकता है:
"privacy_policy_url": "https://rp.example/privacy_policy.html",
"terms_of_service_url": "https://rp.example/terms_of_service.html",
"icons": [{
"url": "https://idp.example/rp-icon.ico",
"size": 40
}]
आइकॉन के साथ काम करने की सुविधा के बारे में ज़्यादा जानने के लिए, डेवलपर से जुड़ा दस्तावेज़ देखें.
अगर उपयोगकर्ता ने अब तक साइन इन नहीं किया है, तो FedCM, उपयोगकर्ता को आईडीपी में साइन इन करने के लिए कहता है. इसके लिए, आईडीपी की ओर से उपलब्ध कराया गया login_url इस्तेमाल किया जाता है. यह login_url, Chrome कस्टम टैब (सीसीटी) के ज़रिए उपलब्ध कराया जाता है.
अगर उपयोगकर्ता, वापस लाए गए खाते से फिर से पुष्टि कर रहा है, तो उसे जानकारी देने वाला यूज़र इंटरफ़ेस (यूआई) नहीं दिखेगा.
ऑरिजिन ट्रायल के लिए रजिस्टर करने के लिए, डेस्कटॉप पर बटन मोड एपीआई के निर्देश देखें. अगर आपने डेस्कटॉप पर ऑरिजिन ट्रायल के लिए पहले ही साइन अप कर लिया है, तो Chrome 128 से, Android पर Chrome में यह सुविधा अपने-आप उपलब्ध हो जाएगी.
Android पर Chrome के लिए, Continuation API बंडल
Chrome के वर्शन 128 से, Continuation API बंडल, Android पर Chrome के लिए उपलब्ध होगा. यह ऑरिजिन ट्रायल के तौर पर उपलब्ध होगा. इससे पहले, इसे डेस्कटॉप पर आज़माया गया था. इस बंडल में FedCM की कई सुविधाएं शामिल हैं. जैसे, Continuation API, Parameters API, Fields API, Multiple configURLs, और Custom Account Labels.
Continuation API, कई चरणों वाले साइन-इन फ़्लो को चालू करता है. Parameters API की मदद से, IdP को अतिरिक्त पैरामीटर पास किए जा सकते हैं. Fields API की मदद से, RP, FedCM डायलॉग में जानकारी ज़ाहिर करने वाले यूज़र इंटरफ़ेस (यूआई) के लिए, खाते के कुछ एट्रिब्यूट का अनुरोध कर सकता है. इसके अलावा,
Multiple configURL, आईडीपी के लिए एक से ज़्यादा कॉन्फ़िगरेशन फ़ाइलों के साथ काम करता है. साथ ही, कस्टम
खाता लेबल की मदद से आईडीपी, खातों को एनोटेट कर सकते हैं, ताकि आरपी इन लेबल के हिसाब से खातों को फ़िल्टर कर सकें.
Continuation API बंडल के बारे में ज़्यादा जानने के लिए, डेस्कटॉप पर Continuation API बंडल के बारे में ब्लॉग पोस्ट पढ़ें. ऑरिजिन ट्रायल के लिए रजिस्टर करने के लिए, इन निर्देशों का पालन करें. अगर आपने डेस्कटॉप पर ओरिजिन ट्रायल के लिए पहले ही साइन अप कर लिया है, तो Chrome 128 से, Android पर Chrome में ये सुविधाएं अपने-आप उपलब्ध हो जाएंगी.
उपयोग करना और सुझाव/राय देना या शिकायत करना
अगर आपको कोई सुझाव देना है या कोई समस्या आ रही है, तो समस्या की शिकायत दर्ज करें. हम FedCM डेवलपर के लिए उपलब्ध कैननिकल गाइड को अप-टू-डेट रखेंगे. साथ ही, अपडेट लॉग पेज को भी अप-टू-डेट रखेंगे.