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

Natalia Markoborodova
Natalia Markoborodova

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

ऑरिजिन ट्रायल: मल्टी आईडीपी एपीआई

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

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

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

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

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

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

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

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

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

ऑरिजिन ट्रायल: मल्टी आईडीपी एपीआई

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

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

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

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

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

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

अगर लॉगिन की सेवा देने वाली किसी कंपनी के आरपी (इसका सुझाव दिया जाता है) पर JavaScript SDK टूल जोड़ा गया है, तो सेवा देने वाला व्यक्ति, एक से ज़्यादा आईडीपी (IdP) को चालू करने के लिए navigator.credentials.get() कॉल को लागू कर सकता है. साथ ही, आरपी डेवलपर को अपना कोड बदलने की ज़रूरत नहीं होती. ऐसा न करने पर, आरपी को FedCM API को खुद कॉल करना होगा.

किसी आरपी पर एक से ज़्यादा आईडीपी (IdP) की जांच करने के लिए, सेवा देने वाली कंपनियों की कैटगरी इस तरह से सेट करें:

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 और उसके बाद के वर्शन में, ऑरिजिन ट्रायल के लिए रजिस्टर करके, एक से ज़्यादा आईडीपी सुविधा को आज़माया जा सकता है.

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

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

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

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

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

Chrome 128 में एक नई सुविधा लॉन्च की गई है. इसकी मदद से, आईडीपी (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
   }]
आईडीपी और आरपी के लोगो के आइकॉन.
मोबाइल पर जानकारी देने वाले यूज़र इंटरफ़ेस (यूआई) में आईडीपी (IdP) और आरपी के लोगो के आइकॉन.

आइकॉन काम करते हैं, इस बारे में ज़्यादा जानने के लिए डेवलपर दस्तावेज़ देखें.

अगर उपयोगकर्ता ने अभी तक साइन इन नहीं किया है, तो FedCM उपयोगकर्ता से आईडीपी (IdP) में साइन इन करने का अनुरोध करता है. ऐसा करने के लिए वह Chrome के कस्टम टैब (सीसीटी) के ज़रिए, आईडीपी (IdP) से मिले login_url का इस्तेमाल करता है.

कोई उपयोगकर्ता, मोबाइल पर बटन मोड से साइन इन कर रहा है.

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

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

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

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

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

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

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

दिलचस्पी बढ़ाएं और सुझाव दें

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