FedCM में अपने-आप फिर से पुष्टि करने की सुविधा का इस्तेमाल करें

Chrome पर FedCM में, अपने-आप फिर से पुष्टि करने की सुविधा काम करती है

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

FedCM की मदद से, ब्राउज़र उस संदर्भ को समझ पाता है जिसमें आरपी और आईडीपी जानकारी का लेन-देन करते हैं. यह उपयोगकर्ता को शेयर की जा रही जानकारी और खास अधिकारों के बारे में बताता है और अनजाने में होने वाले गलत इस्तेमाल को रोकता है. FedCM, Chrome में वर्शन 108 से उपलब्ध है.

Chrome 115 में, FedCM को अपने-आप फिर से पुष्टि करने की सुविधा मिल रही है. इससे उपयोगकर्ता अनुभव को बेहतर बनाया जा सकता है. साथ ही, शुरुआती सहमति के बाद, आरपी की पुष्टि को बेहतर तरीके से किया जा सकता है.

अपने-आप फिर से पुष्टि करने की सुविधा

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

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

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

वह डायलॉग बॉक्स जिस पर उपयोगकर्ता, खाता बनाने या पुष्टि करने के लिए टैप करता है.
ऐसा डायलॉग बॉक्स जिस पर उपयोगकर्ता, खाता बनाने या पुष्टि करने के लिए टैप करता है.

अपने-आप फिर से पुष्टि करने के लिए कोई विकल्प चुनें

हम बेहतर उपयोगकर्ता अनुभव देने और तय की गई जानकारी के मुताबिक होने के लिए, अपने-आप फिर से पुष्टि करने की सुविधा पेश कर रहे हैं. हालांकि, कोड में बिना कोई बदलाव किए, डिफ़ॉल्ट उपयोगकर्ता अनुभव अलग होगा. अपने-आप फिर से पुष्टि करने की सुविधा उपलब्ध होने पर, ब्राउज़र अपना व्यवहार बदलता है. यह उस विकल्प के हिसाब से तय होता है जो डेवलपर ने navigator.credentials.get() के लिए mediation विकल्प में चुना है.

const cred = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: "https://idp.example/fedcm.json",
      clientId: "1234",
    }],
  },
  mediation: 'optional', // this is the default
});

mediation, क्रेडेंशियल मैनेजमेंट एपीआई में मौजूद प्रॉपर्टी है. यह उस तरह की तरह काम करता है जिस तरह PasswordCredential और FederatedCredential के लिए काम करता है. साथ ही, यह कुछ हद तक PublicKeyCredential के साथ काम करता है. प्रॉपर्टी इन चार वैल्यू को स्वीकार करती है:

  • 'required': आगे बढ़ने के लिए हमेशा मीडिएशन की ज़रूरत होती है. उदाहरण के लिए, यूज़र इंटरफ़ेस (यूआई) पर "जारी रखें" बटन पर क्लिक करना. यह विकल्प तब चुनें, जब आपके उपयोगकर्ताओं को हर बार पुष्टि करने के लिए साफ़ तौर पर अनुमति देनी हो.
  • 'optional'(डिफ़ॉल्ट): अगर संभव हो, तो अपने-आप फिर से पुष्टि करने की सुविधा चालू करें. अगर ऐसा नहीं है, तो मीडिएशन की ज़रूरत होती है. हमारा सुझाव है कि साइन-इन पेज पर जाकर, इस विकल्प को चुनें.
  • 'silent': अगर हो सके, तो अपने-आप फिर से पुष्टि करने की सुविधा चालू करें. अगर ऐसा नहीं होता है, तो बिना किसी मध्यस्थता के भी ऐसा किया जा सकता है. हमारा सुझाव है कि आप इस विकल्प को सिर्फ़ साइन-इन वाले पेज के अलावा, दूसरे पेजों पर चुनें, जहां आपको उपयोगकर्ताओं को साइन इन बनाए रखना है. उदाहरण के लिए, किसी शिपिंग वेबसाइट पर मौजूद आइटम पेज या समाचार वेबसाइट पर किसी लेख वाला पेज.
  • 'conditional': इसका इस्तेमाल WebAuthn के लिए किया जाता है. फ़िलहाल, यह FedCM के लिए उपलब्ध नहीं है.

इस कॉल के साथ, अपने-आप फिर से पुष्टि करने की प्रोसेस नीचे दी गई स्थितियों में होती है:

  • FedCM का इस्तेमाल किया जा सकता है. उदाहरण के लिए, उपयोगकर्ता ने न तो FedCM को दुनिया भर में बंद किया है और न ही सेटिंग में आरपी को बंद किया है.
  • इस ब्राउज़र पर, वेबसाइट में साइन इन करने के लिए, उपयोगकर्ता ने FedCM API के साथ सिर्फ़ एक खाते का इस्तेमाल किया है.
  • उपयोगकर्ता ने उसी खाते से आईडीपी (IdP) पर साइन इन किया है.
  • अपने-आप फिर से पुष्टि करने की प्रोसेस पिछले 10 मिनट में नहीं हुई है.
  • पिछली बार साइन इन करने के बाद, आरपी ने navigator.credentials.preventSilentAccess() को कॉल नहीं किया है.

ऊपर दी गई शर्तें पूरी होने पर, FedCM navigator.credentials.get() के चालू होते ही, उपयोगकर्ता की फिर से अपने-आप पुष्टि होने की कोशिश की जाती है.

FedCM के ज़रिए अपने-आप पुष्टि करने वाला उपयोगकर्ता.

preventSilentAccess() के साथ मध्यस्थता लागू करें

साइन आउट करने के तुरंत बाद, उपयोगकर्ताओं की अपने-आप पुष्टि करने की सुविधा का इस्तेमाल करने से उपयोगकर्ताओं को बेहतर अनुभव नहीं मिलेगा. इसलिए, इस तरह की गतिविधि को रोकने के लिए, अपने-आप फिर से पुष्टि होने के बाद FedCM को 10 मिनट का क्वायट पीरियड मिलता है. इसका मतलब है कि अपने-आप फिर से पुष्टि होने की प्रोसेस हर 10 मिनट में एक बार होती है. हालांकि, ऐसा तब नहीं होता, जब उपयोगकर्ता 10 मिनट में दोबारा साइन इन करता है. आरपी को navgator.credits.preventSilentAccess() को कॉल करना चाहिए, ताकि जब कोई उपयोगकर्ता आरपी से साफ़ तौर पर साइन आउट कर दे, तो ब्राउज़र से अपने-आप फिर से पुष्टि करने की सुविधा को बंद करने का अनुरोध करना चाहिए. उदाहरण के लिए, साइन-आउट बटन पर क्लिक करके.

function signout() {
  navigator.credentials.preventSilentAccess();
  location.href = '/signout';
}

उपयोगकर्ता, सेटिंग में जाकर, अपने-आप फिर से पुष्टि करने की सुविधा से ऑप्ट-आउट कर सकते हैं

उपयोगकर्ता, सेटिंग मेन्यू में जाकर, अपने-आप फिर से पुष्टि करने की सुविधा से ऑप्ट-आउट कर सकते हैं:

  • डेस्कटॉप पर Chrome में, chrome://password-manager/settings > अपने-आप साइन इन करें पर जाएं.
  • Android Chrome पर, सेटिंग > Password Manager खोलें > सबसे ऊपर दाएं कोने में मौजूद कॉग > अपने-आप साइन-इन होने की सुविधा पर टैप करें.

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

सुझाव/राय दें या शिकायत करें

अगर FedCM को टेस्ट किया जा रहा है, तो crbug.com पर जाकर, अपने सुझाव/राय दें या शिकायत करें. इसके लिए, "Blink>Identity>FedCM" कॉम्पोनेंट में जाएं.

Unsplash पर नोआ सैमुअल फ़्रांज़ की फ़ोटो