به FedCM مهاجرت کنید

این راهنما به شما کمک می کند تا تغییرات برنامه وب خود را که توسط API مدیریت اعتبارات فدرال (FedCM) معرفی شده است، درک کنید.

هنگامی که FedCM فعال است، مرورگر درخواست های کاربر را نمایش می دهد و از کوکی های شخص ثالث استفاده نمی شود.

نمای کلی

FedCM جریان های ورود به سیستم خصوصی بیشتری را بدون نیاز به استفاده از کوکی های شخص ثالث فعال می کند. مرورگر تنظیمات کاربر را کنترل می‌کند، درخواست‌های کاربر را نمایش می‌دهد، و تنها پس از دریافت رضایت صریح کاربر با یک ارائه‌دهنده هویت مانند Google تماس می‌گیرد.

برای اکثر وب‌سایت‌ها، انتقال به‌طور یکپارچه از طریق به‌روزرسانی‌های سازگار با گذشته به کتابخانه جاوا اسکریپت سرویس‌های هویت Google انجام می‌شود.

به روز رسانی در ویژگی ورود خودکار

بتا مدیریت اعتبار فدرال (FedCM) برای خدمات هویت Google در آگوست 2023 راه اندازی شد. بسیاری از توسعه دهندگان API را آزمایش کردند و بازخورد ارزشمندی ارائه کردند.

یکی از پاسخ‌هایی که گوگل از توسعه‌دهندگان شنیده است، در مورد الزامات حرکت کاربر جریان ورود به سیستم خودکار FedCM است. برای بهبود حریم خصوصی، Chrome از کاربران می‌خواهد تا در هر نمونه کروم مجدداً تأیید کنند که می‌خواهند با حساب Google وارد وب‌سایت شوند، حتی اگر کاربر وب‌سایت را قبل از عرضه FedCM تأیید کرده باشد. این تأیید مجدد یک بار از طریق یک کلیک روی فرمان One Tap برای نشان دادن قصد کاربر برای ورود به سیستم انجام می شود. این تغییر ممکن است باعث اختلال اولیه در نرخ تبدیل ورود به سیستم خودکار برای برخی وب‌سایت‌ها شود.

اخیراً در M121، کروم تغییری در UX جریان ورود خودکار FedCM ایجاد کرد. تأیید مجدد فقط زمانی مورد نیاز است که کوکی‌های شخص ثالث محدود شده باشند. این یعنی:

  1. ورود خودکار FedCM برای کاربران بازگشتی نیازی به تأیید مجدد ندارد. اگر کاربران با FedCM UI مجدداً تأیید کنند، این تأیید مجدد به‌عنوان الزامات اشاره کاربر برای دوران پس از 3PCD محاسبه می‌شود.

  2. ورود خودکار FedCM هنگامی که کوکی‌های شخص ثالث به‌صورت دستی توسط کاربران امروز یا به‌طور پیش‌فرض در Chrome آینده محدود می‌شوند، وضعیت تأیید مجدد را بررسی می‌کند.

با این تغییر، ما به همه توسعه دهندگان ورود به سیستم خودکار توصیه می کنیم در اسرع وقت به FedCM مهاجرت کنند تا اختلال در نرخ تبدیل ورود به سیستم خودکار کاهش یابد.

برای جریان ورود خودکار، جاوا اسکریپت GIS FedCM را در کروم قدیمی‌تر (قبل از M121) راه‌اندازی نمی‌کند، حتی اگر وب‌سایت شما بخواهد FedCM را انتخاب کند.

تفاوت سفر کاربر

تجربه‌های One Tap با استفاده از FedCM و بدون FedCM تنها با تفاوت‌های جزئی مشابه هستند.

کاربر جدید تک جلسه ای

با استفاده از FedCM، One Tap به جای نام برنامه، نام دامنه را نشان می دهد.

با استفاده از FedCM بدون FedCM
کاربر جدید تک جلسه ای با استفاده از FedCMکاربر جدید تک جلسه ای بدون FedCM

کاربر برگشتی تک جلسه ای (با ورود خودکار غیرفعال)

با استفاده از FedCM، One Tap به جای نام برنامه، نام دامنه را نشان می دهد.

با استفاده از FedCM بدون FedCM
سفر کاربر برگشتی تک جلسه ای با استفاده از FedCM (با غیرفعال بودن ورود خودکار)سفر کاربر برگشتی تک جلسه ای بدون FedCM (با غیرفعال شدن ورود خودکار)

کاربر برگشتی تک جلسه ای (با فعال بودن ورود خودکار)

با استفاده از FedCM، کاربران می توانند به جای کلیک بر روی دکمه لغو ، روی X کلیک کنند تا ورود خودکار را در عرض 5 ثانیه لغو کنند.

با استفاده از FedCM بدون FedCM
سفر کاربر برگشتی تک جلسه ای با استفاده از FedCM (با فعال بودن ورود به سیستم خودکار)سفر کاربر برگشتی تک جلسه ای بدون FedCM (با فعال بودن ورود خودکار)

چند جلسه

با استفاده از FedCM، One Tap به جای نام برنامه، نام دامنه را نشان می دهد.

با استفاده از FedCM بدون FedCM
کاربر چند جلسه ای با استفاده از FedCMکاربر چند جلسه ای بدون FedCM

قبل از شروع

بررسی کنید که تنظیمات و نسخه مرورگر شما از FedCM API پشتیبانی می‌کند ، به‌روزرسانی به آخرین نسخه توصیه می‌شود.

  • FedCM API در Chrome 117 یا جدیدتر موجود است.

  • تنظیم ورود به سیستم شخص ثالث در Chrome فعال است.

  • اگر نسخه مرورگر Chrome شما 119 یا بالاتر است، chrome://flags را باز کنید و ویژگی آزمایشی FedCmWithoutThirdPartyCookies را فعال کنید. این مرحله در مرورگر کروم نسخه 120 یا بالاتر لازم نیست.

برنامه وب خود را مهاجرت کنید

این مراحل را دنبال کنید تا FedCM را فعال کنید، تأثیر مهاجرت احتمالی را ارزیابی کنید و در صورت نیاز تغییراتی را در برنامه وب موجود خود ایجاد کنید:

1. یک پرچم بولین برای فعال کردن FedCM هنگام شروع اولیه با استفاده از:

2. استفاده از متدهای isDisplayMoment() ، isDisplayed() ، isNotDisplayed() و getNotDisplayedReason() را در کد خود حذف کنید .

برای بهبود حریم خصوصی کاربر، پاسخ تماس google.accounts.id.prompt دیگر هیچ اعلان لحظه نمایش را در شی PromptMomentNotication بر نمی گرداند. هر کدی را که به روش های مربوط به لحظه نمایش بستگی دارد حذف کنید. آنها متدهای isDisplayMoment() ، isDisplayed() ، isNotDisplayed() و getNotDisplayedReason() هستند.

3. استفاده از متد getSkippedReason() را در کد خود حذف کنید .

در حالی که لحظه پرش، isSkippedMoment() همچنان از پاسخ تماس google.accounts.id.prompt در شی PromptMomentNotication فراخوانی می شود، دلیل دقیق ارائه نمی شود. هر کدی که به متد getSkippedReason() بستگی دارد را از کد خود حذف کنید.

توجه داشته باشید که اعلان لحظه رد شده، isDismissedMoment() و روش دلیل دقیق مرتبط، getDismissedReason() بدون تغییر زمانی که FedCM فعال است.

4. ویژگی های style position را از data-prompt_parent_id و intermediate_iframes حذف کنید .

مرورگر اندازه و موقعیت درخواست های کاربر را کنترل می کند، موقعیت های سفارشی برای One Tap on Desktop پشتیبانی نمی شود.

5. در صورت نیاز طرح بندی صفحه را به روز کنید .

مرورگر اندازه و موقعیت درخواست های کاربر را کنترل می کند. بسته به چیدمان صفحات جداگانه، ممکن است برخی از محتواها روی هم قرار گیرند زیرا موقعیت‌های سفارشی برای One Tap روی دسک‌تاپ به هیچ وجه پشتیبانی نمی‌شوند، مانند ویژگی style ، data-prompt_parent_id ، intermediate_iframes ، iframe سفارشی‌شده، و روش‌های خلاقانه دیگر.

برای بهبود تجربه کاربر در مواقعی که اطلاعات مهم مبهم است، طرح صفحه را تغییر دهید. UX خود را حول اعلان One Tap ایجاد نکنید حتی اگر فرض کنید در موقعیت پیش فرض قرار دارد. از آنجایی که FedCM API با واسطه مرورگر است، فروشندگان مختلف مرورگر ممکن است موقعیت درخواست را کمی متفاوت قرار دهند.

6. اگر برنامه وب شما One Tap API را از iframe های متقاطع فراخوانی می کند، ویژگی allow="identity-credentials-get" را به فریم والد اضافه کنید .

یک iframe در صورتی به عنوان مبدا متقاطع در نظر گرفته می شود که منشاء آن دقیقاً با مبدا اصلی یکسان نباشد. به عنوان مثال:

  • دامنه های مختلف: https://example1.com و https://example2.com
  • دامنه های مختلف سطح بالا: https://example.uk و https://example.jp
  • زیر دامنه ها: https://example.com و https://login.example.com

    برای بهبود حریم خصوصی کاربر، وقتی One Tap API از iframe های متقاطع فراخوانی می شود، باید ویژگی allow="identity-credentials-get" را در هر تگ iframe فریم والد اضافه کنید:

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

    اگر برنامه شما از یک iframe استفاده می‌کند که حاوی iframe دیگری است، باید اطمینان حاصل کنید که این ویژگی به هر iframe، از جمله همه فریم‌های فرعی اضافه شده است.

    به عنوان مثال، سناریوی زیر را در نظر بگیرید:

  • سند بالا ( https://www.example.uk ) حاوی یک iframe به نام "Iframe A" است که یک صفحه ( https://logins.example.com ) را جاسازی می کند.

  • این صفحه جاسازی شده ( https://logins.example.com ) همچنین حاوی یک iframe به نام "Iframe B" است که در ادامه صفحه ای ( https://onetap.example2.com ) را تعبیه می کند که میزبان One Tap است.

    برای اطمینان از اینکه One Tap می تواند به درستی نمایش داده شود، ویژگی باید به هر دو تگ Iframe A و Iframe B اضافه شود.

    برای پرسش‌هایی که در اعلان One Tap نمایش داده نمی‌شود، آماده شوید . سایت‌های دیگر با ریشه‌های مختلف ممکن است صفحات شما را که میزبان One Tap در iframe خود هستند جاسازی کنند. ممکن است تعداد بیشتری از بلیط های پشتیبانی مربوط به نمایش داده نشدن One Tap از کاربران نهایی یا دیگر صاحبان سایت دریافت کنید. در حالی که به‌روزرسانی‌ها را فقط صاحبان سایت در صفحات خود می‌توانند انجام دهند، می‌توانید کارهای زیر را برای کاهش تأثیر انجام دهید:

  • اسناد برنامه‌نویس خود را به‌روزرسانی کنید تا نحوه راه‌اندازی صحیح iframe را برای تماس با سایت خود درج کنید. می توانید در اسناد خود به این صفحه پیوند دهید.

  • در صورت وجود، صفحه پرسش‌های متداول توسعه‌دهنده خود را به‌روزرسانی کنید.

  • به تیم پشتیبانی خود از این تغییر آینده اطلاع دهید و از قبل برای پاسخ به درخواست آماده شوید.

  • برای انتقال روان FedCM به طور فعال با شرکای تحت تأثیر، مشتریان یا صاحبان سایت تماس بگیرید.

7. این دستورالعمل ها را به خط مشی امنیت محتوای خود (CSP) اضافه کنید .

این مرحله اختیاری است زیرا همه وب سایت ها تعریف CSP را انتخاب نمی کنند.

  • اگر از CSP در وب سایت شما استفاده نمی شود، نیازی به تغییر نیست.

  • اگر CSP شما برای One Tap فعلی کار می کند و از connect-src ، frame-src ، script-src ، style-src یا default-src استفاده نمی کنید، نیازی به تغییر نیست.

  • در غیر این صورت، این راهنما را برای تنظیم CSP خود دنبال کنید. بدون راه اندازی مناسب CSP، FedCM One Tap در سایت نمایش داده نمی شود.

8. پشتیبانی Accelerated Mobile Pages (AMP) را برای ورود به سیستم حذف کنید .

پشتیبانی از ورود کاربر برای AMP یکی از ویژگی های اختیاری GIS است که برنامه وب شما ممکن است پیاده سازی کرده باشد. اگر اینطور باشد،

حذف هر گونه ارجاع به:

  • عنصر سفارشی amp-onetap-google و

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

    تغییر مسیر درخواست های ورود به سیستم از AMP به جریان ورود به سیستم HTML وب سایت خود را در نظر بگیرید. توجه داشته باشید که Intermediate Iframe Support API مربوطه تحت تأثیر قرار نگرفته است.

مهاجرت خود را آزمایش و تأیید کنید

پس از ایجاد تغییرات لازم بر اساس مراحل قبل، می توانید تأیید کنید که مهاجرت با موفقیت انجام شده است.

  1. تأیید کنید مرورگر شما از FedCM پشتیبانی می کند و یک جلسه حساب Google موجود دارید.

  2. به صفحه(های) One Tap در برنامه خود بروید.

  3. تأیید کنید که درخواست One Tap نمایش داده می شود و به طور ایمن محتوای زیرین را پوشش می دهد.

  4. هنگام ورود به برنامه خود با استفاده از یک ضربه، تأیید کنید که اعتبار صحیحی به نقطه پایانی یا روش برگشت تماس شما برمی گردد.

  5. اگر ورود به سیستم خودکار فعال است، بررسی کنید که لغو کار می کند و اعتبارنامه صحیح صحیح به نقطه پایانی یا روش برگشت تماس شما برمی گردد.

دوره خنک شدن با یک ضربه

با کلیک بر روی One Tap در گوشه سمت راست بالا، فرمان بسته می شود و وارد دوره خنک شدن می شود که نمایش موقت درخواست One Tap را متوقف می کند. در کروم، اگر می‌خواهید قبل از پایان دوره خنک‌دانی، درخواست One Tap دوباره نشان داده شود، می‌توانید با کلیک کردن روی نماد قفل در نوار آدرس و کلیک کردن روی دکمه Reset Permission ، وضعیت خنک‌دان را بازنشانی کنید.

ثبت نام خودکار در دوره ساکت

هنگام آزمایش ورود خودکار به سیستم One Tap با استفاده از FedCM، بین هر تلاش برای ورود خودکار به سیستم، 10 دقیقه یک دوره آرام دارد. دوره آرام را نمی توان بازنشانی کرد. برای شروع دوباره ورود به سیستم خودکار، باید 10 دقیقه صبر کنید یا از حساب Google دیگری برای آزمایش استفاده کنید.

منابع مفید

ابزار تجزیه و تحلیل جعبه ایمنی حریم خصوصی (PSAT) یک برنامه افزودنی Chrome DevTools برای کمک به پذیرش APIهای جایگزین مانند FedCM است. این با اسکن سایت شما برای ویژگی های تحت تأثیر کار می کند و لیستی از تغییرات توصیه شده را ارائه می دهد.