FedCM पर माइग्रेट करें

इस गाइड से, आपको वेब ऐप्लिकेशन में होने वाले उन बदलावों को समझने में मदद मिलती है जो Federated क्रेडेंशियल Management API (FedCM) में बताए गए हैं.

FedCM के चालू होने पर, ब्राउज़र, उपयोगकर्ताओं के प्रॉम्प्ट दिखाता है और तीसरे पक्ष की किसी कुकी का इस्तेमाल नहीं किया जाता.

खास जानकारी

वेब के लिए प्राइवसी सैंडबॉक्स और Chrome की ओर से, वेब से तीसरे पक्ष की कुकी हटाए जाने की वजह से, Google Identity Services और उपयोगकर्ता के साइन इन में अहम बदलाव होते हैं.

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

ज़्यादातर वेबसाइटों के लिए, Google Identity Services की JavaScript लाइब्रेरी में, पुराने सिस्टम के साथ काम करने वाले अपडेट की मदद से आसानी से माइग्रेशन होता है.

अपने-आप साइन इन होने की सुविधा के बारे में अपडेट

Google Identity Services के लिए, फ़ेडरेटेड क्रेडेंशियल मैनेजमेंट (FedCM) बीटा को अगस्त 2023 में लॉन्च किया गया था. कई डेवलपर ने इस एपीआई को आज़माया है और उनके काम के सुझाव दिए हैं.

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

हाल ही में, M121 में Chrome ने FedCM के अपने-आप साइन इन होने की सुविधा के UX में बदलाव किया है. फिर से पुष्टि करना सिर्फ़ तब ज़रूरी होता है, जब तीसरे पक्ष की कुकी प्रतिबंधित हों. इसका मतलब है:

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

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

इस बदलाव के बाद, हमारा सुझाव है कि अपने-आप साइन-इन होने की सुविधा देने वाले सभी डेवलपर को जल्द से जल्द FedCM पर माइग्रेट करें. इससे, अपने-आप साइन इन होने की सुविधा में आने वाली रुकावटों को कम किया जा सकेगा.

अपने-आप साइन इन होने की सुविधा के लिए, GIS JavaScript M121 से पहले के किसी पुराने Chrome पर FedCM को ट्रिगर नहीं करेगा, भले ही आपकी वेबसाइट FedCM को ऑप्ट-इन करने का विकल्प चुनें.

उपयोगकर्ता के सफ़र में अंतर

FedCM और बिना FedCM का इस्तेमाल करने वाले One Tap का अनुभव, दोनों एक जैसे होते हैं और उसमें थोड़ा-बहुत फ़र्क़ होता है.

एक सेशन के लिए नया उपयोगकर्ता

FedCM का इस्तेमाल करके, One Tap ऐप्लिकेशन के नाम के बजाय डोमेन नेम दिखाता है.

FedCM का इस्तेमाल करना FedCM के बिना
FedCM का इस्तेमाल करके, एक सेशन में नए उपयोगकर्ता FedCM के बिना, एक सेशन वाला नया उपयोगकर्ता

एक सेशन में लौटने वाले उपयोगकर्ता (अपने-आप साइन-इन की सुविधा बंद होने पर)

FedCM का इस्तेमाल करके, One Tap ऐप्लिकेशन के नाम के बजाय डोमेन नेम दिखाता है.

FedCM का इस्तेमाल करना FedCM के बिना
FedCM का इस्तेमाल करके, एक सेशन में लौटने वाले उपयोगकर्ता का अनुभव (अपने-आप साइन-इन की सुविधा बंद होने पर) FedCM के बिना, एक सेशन में लौटने वाले उपयोगकर्ता का अनुभव (अपने-आप साइन-इन की सुविधा बंद होने पर)

एक सेशन में लौटने वाले उपयोगकर्ता (अपने-आप साइन इन होने की सुविधा चालू होने पर)

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

FedCM का इस्तेमाल करना FedCM के बिना
FedCM का इस्तेमाल करके, एक सेशन में लौटने वाले उपयोगकर्ता का अनुभव (अपने-आप साइन-इन होने की सुविधा चालू होने पर) FedCM के बिना, एक सेशन में लौटने वाले उपयोगकर्ता का अनुभव (अपने-आप साइन-इन की सुविधा चालू होने पर)

कई सेशन

FedCM का इस्तेमाल करके, One Tap ऐप्लिकेशन के नाम के बजाय डोमेन नेम दिखाता है.

FedCM का इस्तेमाल करना FedCM के बिना
FedCM का इस्तेमाल करने वाले कई सेशन वाले उपयोगकर्ता FedCM के बिना कई सेशन वाले उपयोगकर्ता

शुरू करने से पहले

देख लें कि आपकी ब्राउज़र सेटिंग और वर्शन पर FedCM API काम करता है या नहीं. नए वर्शन पर अपडेट करने का सुझाव दिया जाता है.

  • FedCM API, Chrome 117 या उसके बाद के वर्शन में उपलब्ध है.

  • Chrome में, तीसरे पक्ष से साइन-इन करने की सेटिंग चालू है.

  • अगर आपके Chrome ब्राउज़र का वर्शन 119 या इससे पहले का है, तो chrome://flags खोलें और प्रयोग के तौर पर शुरू की गई FedCmWithoutThirdPartyCookies सुविधा को चालू करें. Chrome ब्राउज़र 120 या इसके बाद के वर्शन में इस चरण की ज़रूरत नहीं है.

अपने वेब ऐप्लिकेशन को माइग्रेट करना

FedCM को चालू करने, माइग्रेशन के संभावित असर का आकलन करने, और अपने मौजूदा वेब ऐप्लिकेशन में बदलाव करने की ज़रूरत पड़ने पर यह तरीका अपनाएं:

1. इनका इस्तेमाल शुरू करते समय, FedCM को चालू करने के लिए बूलियन फ़्लैग जोड़ें:

2. अपने कोड में isDisplayMoment(), isDisplayed(), isNotDisplayed(), और getNotDisplayedReason() तरीकों का इस्तेमाल हटाएं.

उपयोगकर्ता की निजता को बेहतर बनाने के लिए, google.accounts.id.prompt कॉलबैक अब PromptMomentNotication ऑब्जेक्ट में, डिसप्ले होने की कोई भी सूचना नहीं दिखाता है. ऐसा कोई भी कोड हटा दें जो कॉन्टेंट के दिखने के समय से जुड़े तरीकों पर निर्भर करता है. ये isDisplayMoment(), isDisplayed(), isNotDisplayed(), और getNotDisplayedReason() तरीके हैं.

3. अपने कोड में getSkippedReason() तरीके का इस्तेमाल हटाएं.

स्किप मोमेंट, isSkippedMoment(), को अब भी PromptMomentNotication ऑब्जेक्ट में google.accounts.id.prompt कॉलबैक से कॉल किया जाएगा . इसकी वजह के बारे में ज़्यादा जानकारी नहीं दी गई है. अपने कोड से, getSkippedReason() तरीके के हिसाब से कोई भी कोड हटाएं.

ध्यान दें कि FedCM को चालू करने पर, खारिज किए गए पल की सूचना, isDismissedMoment(), और वजह के बारे में ज़्यादा जानकारी देने वाले तरीके getDismissedReason() में कोई बदलाव नहीं होता है.

4. data-prompt_parent_id और intermediate_iframes से position स्टाइल एट्रिब्यूट हटाएं.

ब्राउज़र, उपयोगकर्ता के प्रॉम्प्ट के साइज़ और पोज़िशन को कंट्रोल करता है. डेस्कटॉप पर One Tap के लिए, पसंद के मुताबिक पोज़िशन सेट करने की सुविधा काम नहीं करती.

5. अगर ज़रूरी हो, तो पेज लेआउट को अपडेट करें.

ब्राउज़र, उपयोगकर्ता के प्रॉम्प्ट का साइज़ और पोज़िशन कंट्रोल करता है. अलग-अलग पेजों के लेआउट के आधार पर, कुछ कॉन्टेंट को ओवरले किया जा सकता है, क्योंकि डेस्कटॉप पर एक टैप में एक बार टैप करने के बाद, कुछ कॉन्टेंट को पसंद के मुताबिक नहीं बनाया जा सकता. जैसे, स्टाइल एट्रिब्यूट, data-prompt_parent_id, intermediate_iframes, पसंद के मुताबिक बनाया गया iframe, और अन्य क्रिएटिव तरीकों से ऐसा किया जा सकता है.

ज़रूरी जानकारी छिपाए जाने पर, उपयोगकर्ता अनुभव को बेहतर बनाने के लिए पेज का लेआउट बदलें. अपने UX को One Tap की सुविधा के आस-पास न बनाएं, भले ही आपको लगे कि वह डिफ़ॉल्ट स्थिति में है. FedCM API, ब्राउज़र के लिए मीडिएशन की सुविधा है. इसलिए, अलग-अलग ब्राउज़र वेंडर, प्रॉम्प्ट की जगह को थोड़ा अलग तरीके से तय कर सकते हैं.

6. अगर आपका वेब ऐप्लिकेशन, क्रॉस-ऑरिजिन iframe से One Tap API को कॉल करता है, तो पैरंट फ़्रेम में allow="identity-credentials-get" एट्रिब्यूट जोड़ें.

किसी iframe को क्रॉस-ऑरिजिन तब माना जाता है, जब उसका ऑरिजिन, पैरंट ऑरिजिन से अलग न हो. उदाहरण के लिए:

  • अलग-अलग डोमेन: https://example1.com और https://example2.com
  • अलग-अलग टॉप लेवल डोमेन: https://example.uk और https://example.jp
  • सबडोमेन: https://example.com और https://login.example.com

    उपयोगकर्ता की निजता को बेहतर बनाने के लिए, जब क्रॉस-ऑरिजिन iframe से One Tap API को कॉल किया जाता है, तो आपको हर पैरंट फ़्रेम iframe टैग में allow="identity-credentials-get" एट्रिब्यूट जोड़ना होगा:

    <iframe src="https://your.cross-origin/onetap.page" allow="identity-credentials-get"></iframe>
    

    अगर आपका ऐप्लिकेशन किसी ऐसे iframe का इस्तेमाल करता है जिसमें कोई और iframe शामिल है, तो यह पक्का करें कि एट्रिब्यूट को हर iframe के साथ जोड़ा गया हो. इसमें सभी सब-iframe भी शामिल हैं.

    उदाहरण के लिए, नीचे दिया गया उदाहरण देखें:

  • सबसे ऊपर मौजूद दस्तावेज़ (https://www.example.uk) में "Iframe A" नाम का एक iframe है, जो एक पेज (https://logins.example.com) को एम्बेड करता है.

  • एम्बेड किए गए इस पेज (https://logins.example.com) में "Iframe B" नाम का एक iframe भी है. यह One Tap को होस्ट करने वाले पेज (https://onetap.example2.com) को और एम्बेड करता है.

    यह पक्का करने के लिए कि One Tap को ठीक से दिखाया जा सके, एट्रिब्यूट को Iframe A और Iframe B, दोनों में जोड़ा जाना चाहिए.

    One Tap की सुविधा का प्रॉम्प्ट न दिखने पर, पूछताछ के लिए तैयार रहें. अलग-अलग ऑरिजिन वाली दूसरी साइटें आपके उन पेजों को एम्बेड कर सकती हैं जो अपने iframe में One Tap को होस्ट करते हैं. हो सकता है कि आपको One Tap की सुविधा से जुड़ी सहायता टिकटों की ज़्यादा संख्या मिले और वे असली उपयोगकर्ताओं या अन्य साइट के मालिकों की तरफ़ से नहीं दिख रहे हों. हालांकि, ये अपडेट सिर्फ़ साइट के मालिक ही अपने पेजों पर कर सकते हैं. हालांकि, इस असर को कम करने के लिए, ये काम किए जा सकते हैं:

  • अपनी साइट को कॉल करने के लिए, iframe को सही तरीके से सेट अप करने का तरीका शामिल करने के लिए, अपने डेवलपर दस्तावेज़ अपडेट करें. अपने दस्तावेज़ में, इस पेज को लिंक किया जा सकता है.

  • अगर लागू हो, तो डेवलपर के बारे में अक्सर पूछे जाने वाले सवालों का पेज अपडेट करें.

  • अपनी सहायता टीम को इस आने वाले बदलाव के बारे में बताएं और पूछताछ के जवाब के लिए पहले से तैयार रहें.

  • FedCM ट्रांज़िशन को आसान बनाने के लिए, पार्टनर, ग्राहकों या साइट के मालिकों से ज़रूरत के मुताबिक संपर्क करें.

7. अपने कॉन्टेंट की सुरक्षा के बारे में नीति (सीएसपी) में ये निर्देश जोड़ें.

यह चरण ज़रूरी नहीं है, क्योंकि सभी वेबसाइटें सीएसपी तय करने का विकल्प नहीं चुनती हैं.

  • अगर आपकी वेबसाइट में सीएसपी का इस्तेमाल नहीं किया गया है, तो बदलाव की ज़रूरत नहीं है.

  • अगर आपका सीएसपी मौजूदा One Tap के लिए काम करता है और आपने connect-src, frame-src, script-src, style-src या default-src का इस्तेमाल नहीं किया है, तो किसी भी बदलाव की ज़रूरत नहीं है.

  • अगर ऐसा नहीं है, तो अपना सीएसपी सेट अप करने के लिए इस गाइड में दिए गए निर्देशों का पालन करें. सही सीएसपी सेटअप के बिना, FedCM One Tap की सुविधा साइट पर नहीं दिखेगी.

8. साइन इन करने के लिए, Accelerated Mobile Pages (एएमपी) सहायता हटाएं.

एएमपी के लिए उपयोगकर्ता की साइन इन करने की सुविधा, GIS की एक वैकल्पिक सुविधा है. हो सकता है कि यह आपके वेब ऐप्लिकेशन में लागू की गई हो. अगर ऐसा है, तो

इसके सभी रेफ़रंस मिटाएं:

  • amp-onetap-google कस्टम एलिमेंट और

  • <script async custom-element="amp-onetap-google" src="https://cdn.ampproject.org/v0/amp-onetap-google-0.1.js"></script>
    

    एएमपी से साइन इन करने के अनुरोधों को अपनी वेबसाइट के एचटीएमएल साइन इन फ़्लो पर रीडायरेक्ट करें. ध्यान दें कि इससे जुड़े Intermediate Iframe Support API पर कोई असर नहीं पड़ता.

अपने माइग्रेशन की जांच और पुष्टि करें

पिछले चरणों के आधार पर ज़रूरी बदलाव करने के बाद, इस बात की पुष्टि की जा सकती है कि माइग्रेशन हो गया है.

  1. देख लें कि आपके ब्राउज़र पर FedCM काम करता है. साथ ही, Google खाते से जुड़ा कोई सेशन पहले से मौजूद हो.

  2. अपने ऐप्लिकेशन में One Tap के पेज पर जाएं.

  3. पक्का करें कि One Tap की सुविधा का प्रॉम्प्ट दिख रहा हो और यह बुनियादी कॉन्टेंट को सुरक्षित तरीके से ओवरले कर दे.

  4. One Tap की मदद से ऐप्लिकेशन में साइन इन करते समय, आपके एंडपॉइंट या कॉलबैक के तरीके पर सही क्रेडेंशियल लौटाए जाने की पुष्टि करें.

  5. अगर अपने-आप साइन इन होने की सुविधा चालू है, तो पुष्टि करें कि रद्द करने की सुविधा काम कर रही है और अपने एंडपॉइंट या कॉलबैक तरीके पर सही क्रेडेंशियल वापस लाएं.

One Tap की कूलडाउन पीरियड

सबसे ऊपर दाएं कोने में मौजूद One Tap पर क्लिक करने से प्रॉम्प्ट बंद हो जाता है और कूलडाउन पीरियड शुरू हो जाता है. इस वजह से, One Tap के प्रॉम्प्ट को कुछ समय के लिए नहीं दिखाया जा सकता है. Chrome में, अगर आपको कूलडाउन पीरियड खत्म होने से पहले, One Tap की सुविधा का प्रॉम्प्ट फिर से दिखाना है, तो पता बार में लॉक आइकॉन पर क्लिक करके और अनुमति रीसेट करें बटन पर क्लिक करके, कूलडाउन स्थिति को रीसेट किया जा सकता है.

इनऐक्टिव पीरियड के अपने-आप साइन इन होने की सुविधा

FedCM का इस्तेमाल करके, One Tap की सुविधा से अपने-आप साइन इन होने की सुविधा की जांच करते समय, अपने-आप साइन इन होने की हर कोशिश के बीच 10 मिनट का शांत समय होता है. साइलेंट पीरियड को रीसेट नहीं किया जा सकता. अपने-आप साइन इन करने की सुविधा को फिर से ट्रिगर करने के लिए, आपको 10 मिनट इंतज़ार करना होगा या जांच के लिए किसी दूसरे Google खाते का इस्तेमाल करना होगा.

काम के संसाधन

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