برای منسوخ شدن کوکی شخص ثالث آماده شوید

این راهنما به شما کمک می‌کند تا تأثیر و تغییرات لازم در افزونه خود را که با پایان دادن به پشتیبانی کروم از کوکی‌های شخص ثالث ایجاد شده است، درک کنید.

نمای کلی

در ۴ ژانویه ۲۰۲۴ ، کروم قابلیت محافظت در برابر ردیابی (Tracking Protection) را معرفی کرد که دسترسی وب‌سایت‌ها به کوکی‌های شخص ثالث (3P) را به طور پیش‌فرض به ۱٪ از کاربران محدود می‌کند. انتظار می‌رود کروم در اوایل سال ۲۰۲۵ کوکی‌های 3P را به طور کامل حذف کند .

حداقل دو مسیر کاربر در افزونه‌های Classroom تحت تأثیر قرار گرفته‌اند:

  1. جریان ورود یکپارچه (SSO) گوگل
  2. هدایت کاربران به تب‌های جدید

سیستم مدیریت امنیت اطلاعات گوگل (SSO)

در جریان فرآیند SSO گوگل، کاربران به پنجره‌ای هدایت می‌شوند تا وارد حساب گوگل خود شوند و با اشتراک‌گذاری داده‌ها موافقت کنند.

تجسم سه زمینه کوکی مختلف در طول SSO از درون یک iframe

شکل 1. تجسم سه زمینه کوکی مختلف در طول SSO از درون یک iframe: (1) برنامه Classroom سطح بالا، (2) iframe تعبیه شده 3P (در این مورد DavidPuzzle روی localhost) و (3) کادر محاوره‌ای OAuth سطح بالا.

در یک پیاده‌سازی معمول افزونه، یک کوکی جلسه در پایان این فرآیند ورود به سیستم تنظیم می‌شود. iframe افزونه که در یک زمینه تعبیه‌شده قرار دارد، اکنون با کوکی جلسه بارگذاری مجدد می‌شود و به کاربر اجازه می‌دهد به جلسه احراز هویت‌شده خود دسترسی پیدا کند. با این حال، هنگامی که کوکی‌های 3P غیرفعال می‌شوند، سایت‌های موجود در یک زمینه تعبیه‌شده مانند iframeهای افزونه نمی‌توانند به کوکی‌ها از زمینه‌های سطح بالای مربوطه خود دسترسی پیدا کنند. برای افزونه‌های Classroom، کاربر قادر به دسترسی به جلسه احراز هویت‌شده خود نیست و در یک حلقه ورود به سیستم گیر می‌کند.

برای پیاده‌سازی‌هایی که کوکی جلسه را در متن iframe تعبیه‌شده تنظیم می‌کنند، این مشکل را می‌توان با CHIPS API کاهش داد، که به سایت‌های تعبیه‌شده اجازه می‌دهد کوکی‌های پارتیشن‌بندی‌شده (کوکی‌هایی که هم در دامنه جاسازی‌شده و هم در دامنه تعبیه‌شده تنظیم و دسترسی دارند) را تنظیم و دسترسی کنند. با این حال، پیاده‌سازی‌هایی که کوکی جلسه را در متن سطح بالای گفتگوی ورود تنظیم می‌کنند، قادر به دسترسی به کوکی پارتیشن‌بندی‌نشده در iframe نیستند و از ورود به سیستم جلوگیری می‌کنند.

تب‌های جدید

به دلایل مشابه، اگر کاربری یک جلسه احراز هویت مبتنی بر کوکی در یک iframe افزونه داشته باشد و iframe کاربر را برای یک فعالیت به یک تب سطح بالای جدید هدایت کند، تب سطح بالا قادر به دسترسی به کوکی جلسه پارتیشن‌بندی شده از iframe نیست. این امر مانع از ماندگاری وضعیت جلسه iframe در فعالیت تب جدید می‌شود و ممکن است کاربر را مجبور کند، به عنوان مثال، دوباره در تب جدید وارد سیستم شود. API CHIPS از نظر طراحی قادر به حل این مشکل نیست. کوکی‌های iframe پارتیشن‌بندی شده در یک زمینه سطح بالا غیرقابل دسترسی هستند.

اقدامات توسعه‌دهنده

برای اطمینان از اینکه افزونه شما پس از حذف تدریجی کوکی‌های ۳P توسط کروم، همچنان به عملکرد خود ادامه می‌دهد، باید چند اقدام را در نظر بگیرید.

  1. استفاده از کوکی‌های ۳P را در مسیرهای حیاتی کاربر افزونه خود بررسی کنید . به طور خاص، برای ارزیابی تأثیر آن بر پیاده‌سازی خاص خود ، کوکی‌های ۳P را غیرفعال کنید .
  2. API دسترسی به فضای ذخیره‌سازی را بررسی کنید . برای همه پیاده‌سازی‌های افزونه، توصیه می‌کنیم API دسترسی به فضای ذخیره‌سازی (SAA) را بررسی کنید. SAA به iframeها امکان دسترسی به کوکی‌هایشان را خارج از چارچوب iframe می‌دهد. SAA امروز در کروم موجود است و توسط برنامه Classroom پشتیبانی می‌شود.

  3. به FedCM بپیوندید . علاوه بر این، اگر از GIS ، کتابخانه ورود با گوگل، استفاده می‌کنید، راهنمایی رسمی تیم Identity این است که به FedCM بپیوندید . این جایگزین قابلیت‌های کوکی‌های ۳P نمی‌شود، اما در نهایت به عنوان بخشی از حذف کوکی‌های ۳P در GIS الزامی خواهد شد. FedCM امروز در کروم موجود است و در Classroom پشتیبانی می‌شود، اما رفتار و ویژگی‌های آن هنوز در دست توسعه است و برای دریافت بازخورد باز است.

  4. مهاجرت به GIS . اگر از کتابخانه منسوخ‌شده GSIv2 که با نام کتابخانه Google Sign-In نیز شناخته می‌شود استفاده می‌کنید، اکیداً توصیه می‌شود که به GIS مهاجرت کنید ، زیرا پشتیبانی از GSIv2 در آینده نامشخص است.

  5. درخواست تأخیر در نسخه آزمایشی حذف کوکی‌ها را بدهید . کروم یک نسخه آزمایشی حذف کوکی‌ها ارائه می‌دهد تا موارد استفاده غیرتبلیغاتی را برای به تأخیر انداختن اثرات حذف کوکی‌های ۳P فراهم کند. در صورت پذیرش، یک توکن به شما داده می‌شود که می‌توانید در افزونه خود از آن استفاده کنید تا کوکی‌های ۳P را برای مبدا خود تا سال ۲۰۲۴ فعال نگه دارید، در حالی که به یک راه‌حل بلندمدت مانند SAA مهاجرت می‌کنید. پس از درخواست ، از شما خواسته می‌شود که یک شناسه اشکال یا پیوند برای گزارش خرابی ارائه دهید. تیم ما قبلاً این را برای افزونه‌های Classroom ثبت کرده است و شما می‌توانید این اشکال را ارائه دهید.