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

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

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

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

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

अपने-आप फिर से पुष्टि होना

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

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

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

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

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

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

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

mediation, Credential Management API में मौजूद एक प्रॉपर्टी है. यह 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 मिनट के अंदर साइन इन करता है, तो यह सुविधा काम नहीं करती. जब कोई उपयोगकर्ता आरपी से साइन आउट करता है, तो आरपी को navigator.credentials.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 पर Noah Samuel Franz की ओर से अपलोड की गई फ़ोटो