निजता बनाए रखने के लिए आइडेंटिटी फ़ेडरेशन की सुविधा के लिए वेब एपीआई.
FedCM क्या है?
FedCM (फ़ेडरेटेड क्रेडेंशियल मैनेजमेंट), पहचान की पुष्टि करने वाली सेवाओं (जैसे, "इससे साइन इन करें") के लिए, निजता बनाए रखने से जुड़ा एक सुझाव है. यह तीसरे पक्ष की कुकी या नेविगेशनल रीडायरेक्ट पर निर्भर नहीं करता.
लागू करने की स्थिति
- Chrome प्लैटफ़ॉर्म का स्टेटस
- FedCM को Chrome 108 में शिप किया गया.
- FedCM प्रस्ताव पर सार्वजनिक बातचीत की जा सकती है.
- FedCM अभी दूसरे ब्राउज़र पर काम नहीं करता.
- Mozilla, Firefox के लिए प्रोटोटाइप लागू कर रहा है और Apple ने FedCM प्रस्ताव पर सामान्य सहायता दी है और साथ मिलकर काम करने में दिलचस्पी दिखाई है.
आने वाले समय में, हम पहचान की पुष्टि करने वाली सेवा देने वाली कंपनियों (आईडीपी), भरोसेमंद पक्षों (आरपी), और ब्राउज़र वेंडर से मिले सुझावों के आधार पर, कई नई सुविधाएं लॉन्च करने जा रहे हैं. हमें उम्मीद है कि आइडेंटिटी प्रोवाइडर, FedCM का इस्तेमाल करेंगे. हालांकि, ध्यान रखें कि FedCM अब भी एक एपीआई है और इसे डेवलप किया जा रहा है.
पुराने सिस्टम के साथ काम न करने वाले बदलावों को डिप्लॉय करने से जुड़ी समस्याओं को कम करने के लिए, हम पहचान की पुष्टि करने वाली सेवाओं के लिए दो सुझाव देते हैं:
- हमारे न्यूज़लेटर की सदस्यता लें. इसमें हम एपीआई के अपडेट भेजेंगे.
- हमारा सुझाव है कि एपीआई के बेहतर होने तक, आईडीपी, JavaScript SDK टूल का इस्तेमाल करके FedCM API को डिस्ट्रिब्यूट करें. साथ ही, आरपी को SDK टूल को खुद होस्ट करने से बचने के लिए कहें. इससे यह पक्का किया जा सकेगा कि एपीआई के अपडेट होने पर, आईडीपी उसमें बदलाव कर सकें. इसके लिए, उन्हें अपने सभी भरोसेमंद पक्षों से फिर से डिप्लॉय करने के लिए नहीं कहना पड़ेगा.
हमें FedCM की ज़रूरत क्यों है?
पिछले एक दशक में, आइडेंटिटी फ़ेडरेशन ने वेब पर पुष्टि करने की सुविधा को बेहतर बनाने में अहम भूमिका निभाई है. इसकी मदद से, हर साइट के लिए उपयोगकर्ता नाम और पासवर्ड की तुलना में, पुष्टि करने की प्रक्रिया को ज़्यादा भरोसेमंद, आसान, और सुरक्षित बनाया जा सकता है. उदाहरण के लिए, बिना पासवर्ड के सिंगल साइन-इन की सुविधा.
आइडेंटिटी फ़ेडरेशन की मदद से, आरपी (भरोसेमंद पक्ष) किसी आईडीपी (आइडेंटिटी प्रोवाइडर) पर निर्भर करता है, ताकि उपयोगकर्ता को नया उपयोगकर्ता नाम और पासवर्ड डाले बिना खाता दिया जा सके.
माफ़ करें, आइडेंटिटी फ़ेडरेशन के लिए इस्तेमाल किए जाने वाले तरीकों (iframes, रीडायरेक्ट, और कुकी) का इस्तेमाल, वेब पर उपयोगकर्ताओं को ट्रैक करने के लिए किया जा रहा है. उपयोगकर्ता एजेंट, पहचान फ़ेडरेशन और ट्रैकिंग के बीच अंतर नहीं कर पाता. इसलिए, गलत इस्तेमाल के अलग-अलग तरीकों को कम करने के लिए, पहचान फ़ेडरेशन को डिप्लॉय करना ज़्यादा मुश्किल हो जाता है.
Federated Credential Management API (FedCM), वेब पर फ़ेडरेटेड आइडेंटिटी फ़्लो के लिए, इस्तेमाल के उदाहरण के हिसाब से एब्स्ट्रैक्शन उपलब्ध कराता है. यह ब्राउज़र के ज़रिए डायलॉग बॉक्स दिखाता है, ताकि उपयोगकर्ता वेबसाइटों पर लॉगिन करने के लिए, आईडीपी से खाते चुन सकें.
FedCM, वेब पर पहचान को बेहतर बनाने के लिए कई चरणों वाला तरीका है. इसके पहले चरण में, हम फ़ेडरेटेड आइडेंटिटी पर तीसरे पक्ष की कुकी से जुड़ी पाबंदियों के असर को कम करने पर फ़ोकस कर रहे हैं. आगे के कुछ चरणों के बारे में जानने के लिए, रोडमैप सेक्शन देखें.
हमें उम्मीद है कि इन पर क्या असर पड़ेगा?
कम्यूनिटी के प्रयास और अपनी रिसर्च से, हमें पता चला है कि पहचान फ़ेडरेशन से जुड़े कुछ इंटिग्रेशन पर, तीसरे पक्ष की कुकी से जुड़ी पाबंदियों का असर पड़ा है:
- OpenID Connect Front-Channel Logout
- OpenID Connect सेशन मैनेजमेंट
- iFrame पर आधारित बैकग्राउंड टोकन का रिन्यूअल
- Iframe पर आधारित लॉगिन विजेट
FedCM का पहला लक्ष्य, तीसरे पक्ष की कुकी से जुड़ी पाबंदियों के असर को कम करना है. इन पाबंदियों का असर इन क्षेत्रों पर पड़ सकता है. अगर इस्तेमाल के ऐसे उदाहरण हैं जो सूची में नहीं हैं, तो उनके बारे में सुझाव, राय या शिकायत करें.
अन्य एपीआई के लिए, भरोसे के सिग्नल के तौर पर FedCM
फ़ेडरेटेड आइडेंटिटी को मैनेज करने के साथ-साथ, FedCM, Privacy Sandbox के अन्य एपीआई के लिए भरोसे के सिग्नल के तौर पर भी काम करता है.
Chrome 131 से, स्टोरेज ऐक्सेस एपीआई (एसएए), भरोसे के सिग्नल के तौर पर FedCM का इस्तेमाल करता है. यह इंटिग्रेशन उन वेबसाइटों के लिए फ़ायदेमंद है जो पुष्टि करने के लिए FedCM और ज़रूरी स्टोरेज ऐक्सेस करने के लिए क्रॉस-ऑरिजिन iframes को चालू करने के लिए SAA, दोनों पर निर्भर करती हैं.
जब कोई उपयोगकर्ता आरपी के ऑप्ट-इन के साथ FedCM की मदद से पुष्टि करता है, तो आरपी की वेबसाइट पर एम्बेड किया गया आईडीपी का कॉन्टेंट, requestStorageAccess()
तरीके को कॉल कर सकता है. इससे, उपयोगकर्ता को कोई और प्रॉम्प्ट दिए बिना, अपनी टॉप-लेवल कुकी का स्टोरेज ऐक्सेस अपने-आप मिल जाता है. अनुमति, सिर्फ़ तब अपने-आप मिलेगी, जब उपयोगकर्ता FedCM में साइन इन होगा और FedCM साइन-इन की स्थिति चालू होगी. ज़्यादा जानकारी के लिए, Storage Access API का दस्तावेज़ पढ़ें.
FedCM का इस्तेमाल किसे करना चाहिए?
हमें उम्मीद है कि FedCM आपके लिए तब ही काम का साबित होगा, जब ये सभी शर्तें लागू हों:
- आप आइडेंटिटी प्रोवाइडर (आईडीपी) हैं.
- तीसरे पक्ष की कुकी से जुड़ी पाबंदियों का असर आप पर पड़ा है.
- आपके आरपी, तीसरे पक्ष की साइटें हैं. अगर आपके आरपी, काम की मिलती-जुलती साइटें हैं, तो आपको मिलती-जुलती वेबसाइट के सेट से बेहतर सेवा मिल सकती है.
आप आईडीपी (IdP) हैं
FedCM के लिए, पहचान की पुष्टि करने वाली सेवा की ज़रूरत होती है. भरोसा करने वाली पार्टी, FedCM का इस्तेमाल स्वतंत्र रूप से नहीं कर सकती. अगर आप आरपी हैं, तो अपने आईडीपी से निर्देश पाने के लिए कहें.
तीसरे पक्ष की कुकी से जुड़ी पाबंदियों का आप पर असर पड़ा है
आपको FedCM का इस्तेमाल सिर्फ़ तब करना चाहिए, जब तीसरे पक्ष की कुकी से जुड़ी पाबंदियों का असर आपके मौजूदा इंटिग्रेशन पर पड़ रहा हो.
अगर आपको नहीं पता कि तीसरे पक्ष की कुकी उपलब्ध न होने पर, आपका आइडेंटिटी फ़ेडरेशन काम करता रहेगा या नहीं, तो Chrome पर तीसरे पक्ष की कुकी ब्लॉक करके, किसी वेबसाइट पर इसका असर देखा जा सकता है.
अगर तीसरे पक्ष की कुकी के बिना, आपके आइडेंटिटी फ़ेडरेशन पर कोई असर नहीं पड़ता है, तो FedCM के बिना अपने मौजूदा इंटिग्रेशन का इस्तेमाल जारी रखा जा सकता है.
अगर आपको नहीं पता कि आपको क्या देखना है, तो उन सुविधाओं के बारे में ज़्यादा पढ़ें जिन पर तीसरे पक्ष की कुकी पर लगने वाली पाबंदियों का असर पड़ सकता है.
आपके आरपी तीसरे पक्ष के हैं
अगर आप एक आइडेंटिटी प्रोवाइडर हैं और आपके आरपी का आईडीपी के साथ पहले पक्ष (ग्राहक) का संबंध है, तो हो सकता है कि मिलती-जुलती वेबसाइट के सेट एक बेहतर विकल्प हों. मिलती-जुलती वेबसाइट के सेट (RWS) की मदद से कोई संगठन अलग-अलग साइटों के बीच के संबंधों के बारे में एलान करता है. इससे ब्राउज़र, खास कामों के लिए तीसरे पक्ष की कुछ कुकी को अनुमति देते हैं. इससे तीसरे पक्ष की कुकी, मिलती-जुलती साइटों के सेट के बीच काम कर सकती हैं. भले ही, तीसरे पक्ष की कुकी पर पाबंदी लगी हो.
उपयोगकर्ता, FedCM के साथ कैसे इंटरैक्ट करेंगे?
FedCM का मुख्य मकसद, तीसरे पक्ष की कुकी से जुड़ी पाबंदियों के असर को कम करना है. उपयोगकर्ता, Chrome की उपयोगकर्ता सेटिंग में जाकर, FedCM को चालू या बंद कर सकते हैं.
FedCM को प्रोटोकॉल के हिसाब से डिज़ाइन किया गया है. साथ ही, यह पुष्टि करने से जुड़ी ये सुविधाएं देता है.
यह सुविधा कैसे काम करती है, यह जानने के लिए हमारा डेमो देखें.
भरोसेमंद पार्टी में साइन इन करना
FedCM के दो यूज़र इंटरफ़ेस (यूआई) मोड हैं:
पैसिव मोड. पैसिव मोड में, FedCM प्रॉम्प्ट दिखने के लिए उपयोगकर्ता के इंटरैक्शन की ज़रूरत नहीं होती. जब उपयोगकर्ता, भरोसेमंद पार्टी (आरपी) की वेबसाइट पर पहुंचता है, तो navigator.credentials.get()
को कॉल करने और उपयोगकर्ता के आईडीपी में साइन इन करने पर, FedCM साइन-इन डायलॉग दिख सकता है \
ऐक्टिव मोड. ऐक्टिव मोड में, FedCM प्रॉम्प्ट को ट्रिगर करने के लिए, उपयोगकर्ता इंटरैक्शन (जैसे, बटन पर क्लिक) ज़रूरी है.
अगर उपयोगकर्ता के पास आईडीपी के साथ आरपी पर कोई खाता नहीं है, तो साइन-अप डायलॉग दिखता है. इसमें, ज़्यादा जानकारी देने वाला टेक्स्ट दिखता है. जैसे, आरपी की सेवा की शर्तें और निजता नीति, अगर वे उपलब्ध कराई गई हैं.
उपयोगकर्ता, इस तौर पर जारी रखें... पर टैप करके साइन इन कर सकता है. अगर पुष्टि हो जाती है, तो ब्राउज़र इस बात को सेव कर लेता है कि उपयोगकर्ता ने IdP की मदद से, RP पर फ़ेडरेटेड खाता बनाया है.
आरपी उन ब्राउज़र पर काम करते हैं जो FedCM के साथ काम नहीं करते. उपयोगकर्ताओं को ऐसे ब्राउज़र पर, FedCM के बिना साइन इन करने की मौजूदा प्रोसेस का इस्तेमाल करना चाहिए. FedCM में साइन-इन करने के तरीके के बारे में ज़्यादा जानें.
FedCM को चालू या बंद करने की सेटिंग
उपयोगकर्ता, पैसिव मोड में FedCM को चालू या बंद कर सकते हैं. इससे ऐक्टिव मोड पर कोई असर नहीं पड़ता, क्योंकि लॉगिन का अनुरोध उपयोगकर्ता के जेस्चर से शुरू होता है. साथ ही, ब्राउज़र को उपयोगकर्ताओं को लॉगिन फ़्लो पूरा करने में मदद करनी चाहिए.
डेस्कटॉप
उपयोगकर्ता, chrome://settings/content/federatedIdentityApi
पर जाकर, डेस्कटॉप पर Chrome के लिए FedCM को चालू या बंद कर सकते हैं.
Android
Android पर Chrome में FedCM को चालू या बंद करने के लिए, उपयोगकर्ता Chrome की सेटिंग > साइट की सेटिंग > तीसरे पक्ष के साइन-इन पर जाएं. इसके बाद, टॉगल को बदलें.
प्रॉम्प्ट के लिए कूल डाउन पीरियड
अगर उपयोगकर्ता यूज़र इंटरफ़ेस (यूआई) को मैन्युअल तरीके से बंद करता है, तो सेटिंग यूज़र इंटरफ़ेस (यूआई) में कुछ समय के लिए एक एंट्री जोड़ी जाएगी. साथ ही, उस वेबसाइट में कुछ समय तक यूज़र इंटरफ़ेस (यूआई) नहीं दिखेगा. इस अवधि के बाद, यूज़र इंटरफ़ेस (यूआई) फिर से चालू हो जाएगा. हालांकि, लगातार बंद होने पर इस अवधि को बढ़ा दिया जाएगा. उदाहरण के लिए, Chrome में:
लगातार कितने दिनों तक बंद रहा | वह समयावधि जब FedCM प्रॉम्प्ट को दबा दिया गया है |
---|---|
1 | दो घंटे |
2 | एक दिन |
3 | एक सप्ताह |
4+ | चार हफ़्ते |
अन्य ब्राउज़र, कूलडाउन के लिए अलग-अलग समयावधि तय कर सकते हैं.
उपयोगकर्ता, आरपी पर FedCM को मैन्युअल तरीके से फिर से चालू कर सकते हैं. इसके लिए, उन्हें सेटिंग पेज पर जाना होगा या PageInfo यूज़र इंटरफ़ेस (यूआरएल बार के बगल में मौजूद लॉक आइकॉन) पर क्लिक करके अनुमति को रीसेट करना होगा.
रोडमैप
हम FedCM में कई बदलाव करने पर काम कर रहे हैं. ज़्यादा जानकारी के लिए, अपडेट देखें.
- बदलाव का लॉग: Federated Credential Management API के अपडेट.
हमें पता है कि कुछ काम अब भी करने हैं. इनमें वे समस्याएं भी शामिल हैं जिनके बारे में हमें आईडीपी, आरपी, और ब्राउज़र वेंडर से पता चला है. हमें लगता है कि हम इन समस्याओं को हल करने का तरीका जानते हैं:
- क्रॉस-ऑरिजिन iframe के साथ काम करना: आईडीपी, क्रॉस-ऑरिजिन iframe (अपडेट) से FedCM को कॉल कर सकते हैं.
- पसंद के मुताबिक बटन: आईडीपी, साइन-इन बटन पर, वापस आने वाले उपयोगकर्ता की पहचान दिखा सकते हैं. इसके लिए, वे आईडीपी के मालिकाना हक वाले क्रॉस-ऑरिजिन iframe (अपडेट) का इस्तेमाल करते हैं.
- मेट्रिक एंडपॉइंट: यह आईडीपी को परफ़ॉर्मेंस मेट्रिक उपलब्ध कराता है.
इसके अलावा, कुछ समस्याएं ऐसी हैं जिन्हें हम हल करने की कोशिश कर रहे हैं. इनमें कुछ ऐसे सुझाव भी शामिल हैं जिनका हम आकलन कर रहे हैं या जिनका प्रोटोटाइप बना रहे हैं:
- CORS: हम Apple और Mozilla के साथ बातचीत कर रहे हैं, ताकि हम यह पक्का कर सकें कि FedCM फ़ेच की स्पेसिफ़िकेशन को बेहतर बनाया जा सके.
- एक से ज़्यादा आईडीपी एपीआई: हम FedCM खाता चुनने वाले टूल में, एक से ज़्यादा आईडीपी के साथ मिलकर काम करने के तरीकों को एक्सप्लोर कर रहे हैं.
- आईडीपी (IdP) साइन-इन स्टेटस एपीआई: Mozilla ने टाइमिंग अटैक से जुड़ी समस्या की पहचान की है. हम इस समस्या को कम करने के लिए, आईडीपी (IdP) के लिए ऐसे तरीके खोज रहे हैं जिनसे वह ब्राउज़र को उपयोगकर्ता के साइन-इन स्टेटस की सूचना पहले से दे सके. (अपडेट)
- आईडीपी एपीआई में साइन इन करना: जब कोई उपयोगकर्ता आईडीपी में साइन इन नहीं होता है, तो अलग-अलग स्थितियों में मदद करने के लिए, ब्राउज़र उपयोगकर्ता को एक यूज़र इंटरफ़ेस (यूआई) उपलब्ध कराता है. इसकी मदद से, उपयोगकर्ता आरपी (RP) को छोड़े बिना साइन इन कर सकता है.
आखिर में, Mozilla, Apple, और TAG के समीक्षकों से मिले सुझावों के आधार पर, हमें लगता है कि कुछ और काम करने की ज़रूरत है. हम इन सवालों के लिए सबसे सही समाधानों का आकलन करने पर काम कर रहे हैं:
- उपयोगकर्ता की समझ और इंटेंट को मैच करने की सुविधा को बेहतर बनाना: Mozilla ने बताया है कि हम यूज़र एक्सपीरियंस के अलग-अलग फ़ॉर्मूले और अलग-अलग जगहों पर दिखने वाले विज्ञापनों के साथ-साथ, ट्रिगर करने की शर्तों को एक्सप्लोर करना जारी रखेंगे.
- पहचान से जुड़े एट्रिब्यूट और चुनिंदा जानकारी ज़ाहिर करना: जैसा कि TAG के समीक्षकों ने बताया है, हम आपको एक ऐसा तरीका देना चाहते हैं जिससे पहचान से जुड़े ज़्यादा या कम एट्रिब्यूट (जैसे, ईमेल, उम्र के ब्रैकेट, फ़ोन नंबर वगैरह) को चुनिंदा तौर पर शेयर किया जा सके.
- निजता से जुड़ी प्रॉपर्टी को बेहतर बनाना: जैसा कि Mozilla ने अपनी स्टैंडर्ड पोज़िशन में सुझाया है, हम निजता की बेहतर गारंटी देने के लिए, IdP ब्लाइंडनेस, डायरेक्टेड आइडेंटिफ़ायर जैसे तरीकों को एक्सप्लोर करना जारी रखेंगे.
- WebAuthn के साथ संबंध: Apple के सुझाव के मुताबिक, हमें पासकी के इस्तेमाल में हुई बढ़ोतरी देखकर बहुत खुशी हो रही है. साथ ही, हमें FedCM, पासवर्ड, WebAuthn, और WebOTP के बीच बेहतर अनुभव देने पर काम करने में भी बहुत खुशी हो रही है.
- लॉगिन स्टेटस: जैसा कि Apple ने Privacy CG के लॉगिन स्टेटस एपीआई के साथ सुझाया है, हम इस बात से सहमत हैं कि उपयोगकर्ता का लॉगिन स्टेटस, जानकारी का एक अहम हिस्सा है. इससे ब्राउज़र को सही फ़ैसले लेने में मदद मिल सकती है. हमें यह देखने में दिलचस्पी है कि इससे क्या-क्या अवसर मिल सकते हैं. (अपडेट)
- एंटरप्राइज़ और शिक्षा: FedID CG से पता चलता है कि अब भी इस्तेमाल के कई उदाहरण ऐसे हैं जिनके लिए FedCM का इस्तेमाल नहीं किया जा सकता. हम इन पर काम करना चाहते हैं. जैसे, फ़्रंट-चैनल लॉग आउट (IdP के पास RP को लॉग आउट करने के लिए सिग्नल भेजने की सुविधा) और SAML के लिए सहायता.
- mDL/वीसी वगैरह के साथ संबंध: यह समझने के लिए काम जारी रखें कि ये FedCM में कैसे फ़िट होते हैं. उदाहरण के लिए, मोबाइल दस्तावेज़ का अनुरोध करने वाले एपीआई के साथ.
FedCM API का इस्तेमाल करना
FedCM का इस्तेमाल करने के लिए, आपको Chrome में IdP और RP, दोनों पर सुरक्षित संदर्भ (एचटीटीपीएस या localhost) की ज़रूरत होती है.
FedCM के साथ इंटिग्रेट करने के लिए, आपको खातों की सूची, एश्योरेशन जारी करने, और (ज़रूरी नहीं) क्लाइंट मेटाडेटा के लिए, एक अच्छी फ़ाइल, कॉन्फ़िगरेशन फ़ाइल, और एंडपॉइंट बनाने होंगे. इसके बाद, FedCM ऐसे JavaScript API दिखाता है जिनका इस्तेमाल आरपी, आईडीपी के साथ साइन इन करने के लिए कर सकते हैं.
FedCM API का इस्तेमाल करने का तरीका जानने के लिए, FedCM डेवलपर गाइड देखें.
दर्शकों से जुड़ना और सुझाव, राय या शिकायत शेयर करना
- GitHub: एक्सप्लेनर पढ़ें, समस्याएं दर्ज करें, और चर्चा को फ़ॉलो करें.
- डेवलपर सहायता: Privacy Sandbox के डेवलपर सहायता रिपॉज़िटरी पर सवाल पूछें और चर्चाओं में शामिल हों.
ई-निजता कानूनों का पालन करना
FedCM का इस्तेमाल, आईडीपी या आरपी के तौर पर करने पर, उपयोगकर्ता के टर्मिनल डिवाइस पर जानकारी सेव की जाती है या उसमें पहले से सेव की गई जानकारी को ऐक्सेस किया जाता है. इसलिए, यह गतिविधि यूरोपियन इकनॉमिक एरिया (ईईए) और यूनाइटेड किंगडम के ई-निजता कानूनों के दायरे में आती है. आम तौर पर, इसके लिए उपयोगकर्ता की सहमति लेना ज़रूरी होता है. यह तय करना आपकी ज़िम्मेदारी है कि उपयोगकर्ता के अनुरोध पर ऑनलाइन सेवा देने के लिए, FedCM का इस्तेमाल करना वाकई ज़रूरी है या नहीं. अगर ज़रूरी है, तो सहमति की ज़रूरी शर्त से छूट मिल सकती है. ज़्यादा जानकारी के लिए, हमारा सुझाव है कि आप Privacy Sandbox के निजता से जुड़ी शर्तों के पालन के बारे में अक्सर पूछे जाने वाले सवाल पढ़ें.