این راهنما به شما کمک میکند تأثیر و تغییرات لازم را در برافزای خود که توسط Chrome به پشتیبانی از کوکیهای شخص ثالث پایان میدهد، درک کنید.
نمای کلی
در 4 ژانویه 2024 ، Chrome Protection Tracking را معرفی کرد که دسترسی وبسایت را به کوکیهای شخص ثالث (3P) بهطور پیشفرض برای 1 درصد از کاربران محدود میکند. در اوایل سال 2025 ، کروم انتظار دارد کوکی های 3P را به طور کامل حذف کند .
حداقل دو سفر کاربر در افزونههای Classroom تحت تأثیر قرار میگیرد:
- جریان Google single sign-on (SSO).
- راه اندازی کاربران در برگه های جدید
Google SSO
در طول جریان Google SSO، کاربران به یک گفتگو هدایت میشوند تا وارد حساب Google خود شوند و با اشتراکگذاری داده موافقت کنند.
شکل 1. تجسم سه زمینه کوکی مختلف در طول SSO از داخل یک iframe: (1) برنامه کلاس درس سطح بالا، (2) iframe تعبیه شده 3P (در این مورد DavidPuzzle در localhost)، و (3) OAuth سطح بالا گفتگو
در یک پیاده سازی افزونه معمولی، یک کوکی جلسه در تکمیل این فرآیند ورود به سیستم تنظیم می شود. iframe افزودنی که در یک زمینه تعبیه شده است، اکنون با کوکی جلسه بارگیری مجدد می شود و به کاربر امکان می دهد به جلسه تأیید شده خود دسترسی داشته باشد. با این حال، وقتی کوکیهای 3P غیرفعال میشوند، سایتها در یک زمینه جاسازیشده مانند iframes افزودنی نمیتوانند به کوکیها از زمینههای سطح بالای مربوطه خود دسترسی داشته باشند. برای افزودنیهای Classroom، کاربر نمیتواند به جلسه تأیید شده خود دسترسی داشته باشد و در یک حلقه ورود به سیستم گیر میکند.
برای پیادهسازیهایی که کوکی جلسه را در زمینه iframe جاسازی شده تنظیم میکنند، این مشکل را میتوان با CHIPS API کاهش داد، که به سایتهای جاسازی شده اجازه میدهد کوکیهای پارتیشنبندی شده را تنظیم کرده و به آن دسترسی داشته باشند (کوکیهایی که هم در دامنه جاسازی شده و هم در دامنه جاسازی شده کلید میخورند). با این حال، پیادهسازیهایی که کوکی جلسه را در زمینه سطح بالای کادر گفتگوی ورود تنظیم میکنند، نمیتوانند به کوکی بدون پارتیشن در iframe دسترسی پیدا کنند و از ورود به سیستم جلوگیری میکنند.
برگه های جدید
به دلایل مشابه، اگر کاربر یک جلسه احراز هویت مبتنی بر کوکی در یک iframe الحاقی داشته باشد و iframe کاربر را به یک برگه سطح بالای جدید برای یک فعالیت راهاندازی کند، تب سطح بالا نمیتواند به کوکی جلسه پارتیشنبندی شده دسترسی پیدا کند. iframe این کار از تداوم وضعیت جلسه iframe در فعالیت برگه جدید جلوگیری می کند و ممکن است کاربر را مجبور کند که دوباره در برگه جدید وارد شود. CHIPS API با طراحی قادر به حل این مشکل نیست. کوکی های iframe پارتیشن بندی شده در زمینه سطح بالا غیرقابل دسترسی هستند.
اقدامات توسعه دهنده
چند اقدام وجود دارد که باید در نظر بگیرید تا اطمینان حاصل کنید که افزونه شما همانطور که در نظر گرفته شده است، همانطور که Chrome کوکی های 3P را حذف می کند، کار می کند.
- استفاده از کوکی 3P را در سفرهای مهم کاربر افزونه خود بررسی کنید . به طور خاص، با کوکیهای 3P غیرفعال تست کنید تا تأثیر آن را برای اجرای خاص خود ارزیابی کنید.
API دسترسی به فضای ذخیرهسازی را کاوش کنید . برای همه پیادهسازیهای افزودنی، توصیه میکنیم API دسترسی به حافظه (SAA) را بررسی کنید. SAA به iframe ها امکان می دهد به کوکی های خود در خارج از زمینه iframe دسترسی داشته باشند. SAA امروز در Chrome در دسترس است و توسط برنامه Classroom پشتیبانی می شود.
FedCM را انتخاب کنید . علاوه بر این، اگر از GIS ، کتابخانه ورود با Google استفاده میکنید، راهنمایی رسمی تیم Identity این است که FedCM را انتخاب کنید . این جایگزین قابلیتهای کوکی 3P نمیشود، اما در نهایت در GIS به عنوان بخشی از منسوخ شدن کوکی 3P مورد نیاز خواهد بود. FedCM امروز در Chrome در دسترس است و در Classroom پشتیبانی میشود، اما رفتار و ویژگیها هنوز در دست توسعه هستند و بازخوردشان باز است.
مهاجرت به GIS اگر از کتابخانه منسوخ GSIv2 استفاده میکنید، که به نام کتابخانه ورود به سیستم Google نیز شناخته میشود، اکیداً توصیه میشود که به GIS مهاجرت کنید ، زیرا پشتیبانی از GSIv2 در آینده مشخص نیست.
برای تأخیر آزمایشی منسوخ درخواست کنید . Chrome یک آزمایش منسوخ ارائه میدهد تا به موارد استفاده غیرتبلیغاتی اجازه دهد تا تأثیرات منسوخ شدن کوکی 3P را به تأخیر بیندازند. در صورت پذیرش، رمزی به شما داده میشود که میتوانید در افزونه خود برای فعال نگه داشتن کوکیهای 3P برای مبدا خود تا سال 2024 و در عین حال مهاجرت به راهحل بلندمدت مانند SAA استفاده کنید. پس از درخواست ، از شما خواسته می شود که شناسه اشکال یا پیوندی برای گزارش خرابی ارائه دهید. تیم ما قبلاً این را برای افزونه های Classroom ثبت کرده است و شما می توانید این اشکال را ارائه دهید.