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

Natalia Markoborodova
Natalia Markoborodova

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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