FedCM के अपडेट: डेस्कटॉप पर अलग-अलग आईडीपी एपीआई, Android के ऑरिजिन ट्रायल पर Chrome के लिए बटन मोड एपीआई, और कंटिन्यूएशन बंडल

Natalia Markoborodova
Natalia Markoborodova

Chrome 128 से, मल्टी-आईडीपी एपीआई, डेस्कटॉप पर ऑरिजिन ट्रायल शुरू कर रहा है. साथ ही, बटन मोड एपीआई और कंटिन्यूएशन बंडल, Android पर ऑरिजिन ट्रायल शुरू कर रहे हैं. एक से ज़्यादा आईडीपी की सुविधा की मदद से, डेवलपर एक ही get() कॉल में, काम करने वाले कई आइडेंटिटी प्रोवाइडर का कलेक्शन तय कर सकते हैं. Button Mode API, नया यूज़र इंटरफ़ेस (यूआई) जोड़ता है. बटन मोड एपीआई की मदद से, पहचान की पुष्टि करने वाली सेवाएं, FedCM API का इस्तेमाल कर सकती हैं. भले ही, उनके उपयोगकर्ताओं के पास एपीआई कॉल के दौरान चालू आईडीपी सेशन न हों. कंटिन्यूएशन बंडल में, कंटिन्यूएशन एपीआई और पैरामीटर एपीआई शामिल होते हैं. ये OAuth अनुमति फ़्लो जैसा अनुभव देने में मदद करते हैं. इसमें, आईडीपी की ओर से दी गई अनुमति वाला डायलॉग शामिल होता है. इस बंडल में अन्य बदलाव भी शामिल हैं, जैसे कि फ़ील्ड एपीआई, एक से ज़्यादा configURL, और कस्टम खाता लेबल.

ऑरिजिन ट्रायल: एक से ज़्यादा आईडीपी वाले एपीआई

इस सुविधा की मदद से, उपयोगकर्ता उन आईडीपी के सेट में से कोई खाता चुन सकते हैं जिनके साथ यह सुविधा काम करती है. साथ ही, आरपी को साइन इन और साइन अप करने की दरों में बढ़ोतरी का फ़ायदा मिलता है. अगर उपयोगकर्ता एक से ज़्यादा आईडीपी (IdP) से लॉग इन है, तो उसे किसी एक आईडीपी का इस्तेमाल करके आरपी (RP) में साइन इन करने के लिए कहा जाएगा.

मल्टी-आईडीपी एपीआई का इस्तेमाल करके, कोई उपयोगकर्ता अलग-अलग आईडीपी से साइन इन कर रहा है.

उपयोगकर्ता के मौजूदा खातों और उनसे जुड़े टाइमस्टैंप के आधार पर, आईडीपी को प्राथमिकता दी जाती है.

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

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

अगर उपयोगकर्ता का लॉगिन स्टेटस, किसी IdP के लिए लॉग आउट पर सेट है, तो FedCM को कॉल करने पर, उस IdP के लिए खाते फ़ेच नहीं होते. इसी तरह, अगर सभी उपलब्ध आईडीपी के लिए उपयोगकर्ता का स्टेटस 'लॉग आउट है' है, तो विजेट मोड में FedCM साइन-इन प्रॉम्प्ट अपने-आप नहीं दिखता.

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

जब उपयोगकर्ता का लॉगिन स्टेटस 'लॉग इन है' दिखता है, लेकिन सेशन की समयसीमा खत्म हो गई है, तो मेल न खाने वाला यूज़र इंटरफ़ेस (यूआई) दिखता है.

लॉगिन स्टेटस के बारे में ज़्यादा जानकारी के लिए, दस्तावेज़ देखें. लागू करने के बारे में ज़्यादा जानकारी के लिए, डेवलपर गाइड देखें.

ऑरिजिन ट्रायल: एक से ज़्यादा आईडीपी वाले एपीआई

डेमो आरपी पर उपयोगकर्ता के तौर पर या Chrome 128 या उसके बाद के वर्शन का इस्तेमाल करके डेवलपर के तौर पर, मल्टी आईडीपी एपीआई को आज़माया जा सकता है.

उपयोगकर्ता के तौर पर आज़माएं

उपयोगकर्ता के तौर पर, इसे खुद आज़माएं. पक्का करें कि:

  • Chrome को पेज पर, तीसरे पक्ष के साइन-इन करने के अनुरोधों को ब्लॉक करने के लिए कॉन्फ़िगर नहीं किया गया है: chrome://settings/content/federatedIdentityApi.
  • आपने एक से ज़्यादा डेमो आईडीपी में साइन इन किया हो. डेमो पेज पर दिए गए निर्देशों का पालन करें.

ध्यान दें कि जिन साइटों का ऑरिजिन, ऑरिजिन ट्रायल के लिए रजिस्टर नहीं किया गया है उन पर एक से ज़्यादा आईडीपी की सुविधा आज़माने के लिए, आपको chrome://flags/#fedcm-multi-idp में जाकर सुविधा फ़्लैग को चालू करना होगा.

डेवलपर के तौर पर आज़माएं

अगर लॉगिन की सेवा देने वाली कंपनी ने आरपी (इसका सुझाव दिया जाता है) पर JavaScript SDK टूल एम्बेड किया है, तो कई आईडीपी को चालू करने के लिए navigator.credentials.get() कॉल को सेवा देने वाली कंपनी लागू कर सकती है. साथ ही, आरपी डेवलपर को अपने कोड में बदलाव करने की ज़रूरत नहीं पड़ती. ऐसा न करने पर, आरपी को खुद 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 को कैसे मैनेज किया जाए, क्योंकि यह आईडीपी के हिसाब से अलग-अलग होता है.

ऑरिजिन ट्रायल में हिस्सा लेना

ऑरिजिन ट्रायल की मदद से, नई सुविधाओं को आज़माया जा सकता है. साथ ही, इनके इस्तेमाल, काम करने के तरीके, और असरदार होने के बारे में सुझाव/राय दी जा सकती है. ज़्यादा जानकारी के लिए, ऑरिजिन ट्रायल शुरू करना लेख पढ़ें.

Chrome 128 से शुरू होने वाले ऑरिजिन ट्रायल के लिए रजिस्टर करके, एक से ज़्यादा आईडीपी की सुविधा आज़माएं.

एक से ज़्यादा आईडीपी को आज़माने के लिए, आरपी अपना ऑरिजिन रजिस्टर कर सकता है और पहले पक्ष के ऑरिजिन का ट्रायल चला सकता है. आईडीपी, तीसरे पक्ष के ऑरिजिन के ट्रायल के लिए रजिस्टर कर सकता है. साथ ही, JavaScript SDK टूल का इस्तेमाल करने वाले अपने सभी आरपी के लिए, मल्टी आईडीपी की सुविधा उपलब्ध करा सकता है.

ऑरिजिन ट्रायल में हिस्सा लेने का तरीका:

  1. Multi IdP API के ऑरिजिन ट्रायल के रजिस्ट्रेशन पेज पर जाएं. 2. रजिस्टर करें बटन पर क्लिक करें और टोकन का अनुरोध करने के लिए, फ़ॉर्म भरें.
  2. पहले पक्ष के ऑरिजिन के ट्रायल के लिए रजिस्टर करने के लिए, "वेब ऑरिजिन" फ़ील्ड में आरपी का ऑरिजिन डालें. तीसरे पक्ष के ऑरिजिन के ट्रायल के लिए, आईडीपी के JavaScript SDK टूल का ऑरिजिन डालें और "तीसरे पक्ष के मैच करने वाले" बॉक्स को चुनें.
  3. सबमिट करें पर क्लिक करें.
  4. आरपी पेज पर जारी किया गया टोकन दें:
    • 1P ऑरिजिन ट्रायल में हिस्सा लेने वाले लोगों के लिए: - <head> में मेटा टैग के तौर पर: <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE"> - एचटीटीपी हेडर के तौर पर: Origin-Trial: TOKEN_GOES_HERE
    • तीसरे पक्ष के ऑरिजिन के तौर पर मुफ़्त में आज़माने वाले लोगों के लिए: - प्रोग्राम के हिसाब से टोकन देकर.

Android पर Chrome के लिए बटन मोड एपीआई

Chrome के वर्शन 128 से, Button Mode API का ऑरिजिन ट्रायल, Android पर Chrome पर शुरू होगा. इससे पहले, डेस्कटॉप पर इसका शुरुआती ट्रायल किया गया था. बटन मोड एपीआई की मदद से, आइडेंटिटी प्रोवाइडर, FedCM API का इस्तेमाल कर सकते हैं. भले ही, एपीआई कॉल के बाद उनके उपयोगकर्ता, आईडीपी से लॉग आउट हो गए हों. साइन-इन फ़्लो की शुरुआत, उपयोगकर्ता के जेस्चर से होती है. इससे उपयोगकर्ता के इंटेंट के बारे में बेहतर तरीके से पता चलता है.

Chrome 128 में एक नई सुविधा जोड़ी गई है. इसकी मदद से, आईडीपी, आरपी के आधिकारिक लोगो आइकॉन को सीधे क्लाइंट मेटाडेटा एंडपॉइंट रिस्पॉन्स में शामिल कर सकते हैं. इससे, बटन मोड में मोबाइल डिवाइसों पर यूज़र इंटरफ़ेस (यूआई) बेहतर हो जाता है.

कॉन्फ़िगरेशन फ़ाइल में आईडीपी (IdP) ब्रैंडिंग की तरह ही, आईडीपी (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 उपयोगकर्ता को आईडीपी में साइन इन करने के लिए कहता है. इसके लिए, उपयोगकर्ता को Chrome कस्टम टैब (सीसीटी) के ज़रिए आईडीपी से मिले login_url का इस्तेमाल करना होता है.

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

कोई उपयोगकर्ता, पहले इस्तेमाल किए गए खाते से साइन इन कर रहा है. जानकारी ज़ाहिर करने वाला यूज़र इंटरफ़ेस (यूआई) नहीं दिखता.

ऑरिजिन ट्रायल के लिए रजिस्टर करने के लिए, डेस्कटॉप पर बटन मोड एपीआई के लिए दिए गए निर्देश देखें. अगर आपने डेस्कटॉप पर ऑरिजिन ट्रायल के लिए पहले ही साइन अप कर लिया है, तो यह सुविधा Android पर Chrome 128 से अपने-आप उपलब्ध हो जाएगी.

Android पर Chrome के लिए Continuation API बंडल

Chrome के वर्शन 128 से, Continuation API का बंडल, Android पर Chrome के लिए उपलब्ध होगा. यह ऑरिजिन ट्रायल के तौर पर उपलब्ध होगा. इससे पहले, डेस्कटॉप पर इसका शुरुआती ट्रायल किया गया था. इस बंडल में FedCM की कई सुविधाएं शामिल हैं. इनमें Continuation API, Parameters API, Fields API, Multiple configURLs, और कस्टम खाता लेबल शामिल हैं.

Continuation API की मदद से, कई चरणों में साइन इन करने की सुविधा चालू की जा सकती है. Parameters API की मदद से, आईडीपी को अतिरिक्त पैरामीटर भेजे जा सकते हैं. Fields API की मदद से, आरपी, FedCM डायलॉग में ज़ाहिर की जाने वाली जानकारी के यूज़र इंटरफ़ेस (यूआई) के लिए, खाते के खास एट्रिब्यूट का अनुरोध कर सकता है. इसके अलावा, एक से ज़्यादा configURL, किसी आईडीपी के लिए एक से ज़्यादा कॉन्फ़िगरेशन फ़ाइलों के साथ काम करते हैं. साथ ही, कस्टम खाता लेबल की मदद से आईडीपी, खातों पर एनोटेशन जोड़ सकते हैं, ताकि आरपी उन्हें इन लेबल के हिसाब से फ़िल्टर कर सकें.

Continuation API बंडल के बारे में ज़्यादा जानने के लिए, डेस्कटॉप पर Continuation API बंडल के बारे में बताने वाली ब्लॉग पोस्ट पढ़ें. ऑरिजिन के ट्रायल के लिए रजिस्टर करने के लिए, इन निर्देशों का पालन करें. अगर आपने पहले से ही डेस्कटॉप पर ऑरिजिन ट्रायल के लिए साइन अप किया है, तो Chrome 128 से शुरू होने वाले वर्शन में, ये सुविधाएं Android पर Chrome पर अपने-आप उपलब्ध हो जाएंगी.

दर्शकों से जुड़ना और सुझाव/राय देना या शिकायत करना

अगर आपको कोई सुझाव/राय देनी है या कोई समस्या आ रही है, तो समस्या दर्ज करें. हम FedCM के लिए डेवलपर की कैननिकल गाइड को अप-टू-डेट रखेंगे. साथ ही, अपडेट लॉग वाले पेज पर इकट्ठा किए गए डेटा को भी अप-टू-डेट रखेंगे.