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

Natalia Markoborodova
Natalia Markoborodova

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

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

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

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

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

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

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

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

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

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

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

ऑरिजिन ट्रायल: Multi IdP API

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

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

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

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

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

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

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

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

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

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

  1. मल्टी आईडीपी एपीआई के ऑरिजिन ट्रायल के रजिस्ट्रेशन पेज पर जाएं.
  2. टोकन का अनुरोध करने के लिए, रजिस्टर करें बटन पर क्लिक करें और फ़ॉर्म भरें.
  3. पहले पक्ष के ऑरिजिन ट्रायल के लिए, "वेब ऑरिजिन" फ़ील्ड में आरपी का ऑरिजिन डालें. तीसरे पक्ष के ऑरिजिन को आज़माने के लिए, IdP के JavaScript SDK टूल का ऑरिजिन डालें और "तीसरे पक्ष की मैचिंग" बॉक्स को चुनें.
  4. सबमिट करें पर क्लिक करें.
  5. आरपी पेज पर जारी किया गया टोकन दें:
    • पहले पक्ष के ऑरिजिन ट्रायल में हिस्सा लेने वाले लोगों के लिए:
      • <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
   }]
आईडीपी और आरपी के लोगो के आइकॉन.
मोबाइल पर जानकारी देने वाले यूज़र इंटरफ़ेस (यूआई) में, आईडीपी और आरपी के लोगो के आइकॉन.

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

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

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

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

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

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

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

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

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

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

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

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