يمكنك المشاركة في مرحلة التجربة والتقييم للوصول إلى مساحة تخزين غير ملفات تعريف الارتباط من خلال Storage Access API.

Helen Cho
Helen Cho
Ari Chivukula
Ari Chivukula

أدخل الإصدار Chrome 115 تغييرات على واجهات برمجة التطبيقات للتخزين وخدمات Worker والاتصالات من خلال تقسيمها في سياقات تابعة لجهات خارجية. بالإضافة إلى عزل واجهات برمجة التطبيقات المتأثرة المستخدَمة في السياقات التابعة لجهات خارجية من خلال سياسة المصدر نفسه، يتم أيضًا عزل هذه الواجهات من خلال الموقع الإلكتروني للسياق من المستوى الأعلى.

إذا لم يكن لدى المواقع الإلكترونية الوقت الكافي لتنفيذ ميزة تقسيم مساحة التخزين التابعة لجهات خارجية، سيكون بإمكانها المشاركة في نسخة تجريبية للإيقاف النهائي من أجل إلغاء التقسيم مؤقتًا (مواصلة العزل بموجب سياسة المصدر نفسه مع إزالة العزل حسب الموقع الإلكتروني من المستوى الأعلى) واستعادة السلوك السابق للتخزين وعاملي الخدمة وواجهات برمجة التطبيقات للاتصال في المحتوى المضمّن في موقعهم الإلكتروني. من المقرّر أن تنتهي هذه الفترة التجريبية للإيقاف النهائي مع إصدار Chrome 127 في 3 سبتمبر 2024. يُرجى العِلم أنّ هذه الفترة منفصلة عن فترة إيقاف ملفات تعريف الارتباط التابعة لجهات خارجية نهائيًا، وهي مخصّصة للوصول إلى مساحة التخزين فقط.

كحلّ طويل المدى لمعالجة بعض حالات الاستخدام التي تعطُّل بسبب تقسيم مساحة التخزين التابعة لجهات خارجية والتي لا تستخدم ملفات تعريف الارتباط، يقترح Chrome إمكانية طلب الوصول إلى مساحة التخزين أو التواصل (كل من ملفات تعريف الارتباط وملفات تعريف الارتباط) من خلال واجهة برمجة التطبيقات Storage Access (الشحن اعتبارًا من Chrome 117)، والتي تسمح للجهات الخارجية بطلب الوصول إلى ملفات تعريف الارتباط.

اعتبارًا من الإصدار 120 من Chrome، سيكون هذا الاقتراح متاحًا للتجربة من خلال مرحلة تجربة وتقييم. على المطوّرين المشاركة في مرحلة التجربة والتقييم هذه لتقييم كيفية معالجة الحل المقترَح لحالات الاستخدام لديهم من أجل التأكّد من استعدادهم قبل انتهاء هذه الفترة.

تفاصيل الفترة التجريبية لنقطة الشحن

بدءًا من Chrome 120، سيوفّر Chrome فترة تجريبية للمصدر، وهي StorageAccessAPIBeyondCookies، لتفعيل الإضافة المقترَحة لواجهة برمجة التطبيقات Storage Access API (متوافقة مع الأنظمة القديمة) للسماح بالوصول إلى مساحة تخزين غير مقسَّمة (ملفات تعريف الارتباط وغير ملفات تعريف الارتباط) في سياق تابع لجهة خارجية.

الميكانيكا

يمكن استخدام واجهة برمجة التطبيقات على النحو التالي (يتم تشغيل JavaScript في إطار iframe مضمّن):

// Request a new storage handle via rSA (this should prompt the user)
const handle = await document.requestStorageAccess({all: true});
// Write some 1P context sessionStorage
handle.sessionStorage.setItem('userid', '1234');
// Write some 1P context localStorage
handle.localStorage.setItem('preference', 'A');
// Open or create an indexedDB that is shared with the 1P context
const messageDB = handle.indexedDB.open('messages');
// Use locks shared with the 1P context
await handle.locks.request('example', ...);

إذا كنت تريد فقط الوصول إلى واجهة برمجة تطبيقات معيّنة بدلاً من الوصول إلى all، يمكنك نقل أسماء واجهات برمجة التطبيقات التي تحتاج إليها فقط. على سبيل المثال، يمكنك تمرير {sessionStorage: true} للوصول إلى Session Storage فقط، أو {indexedDB: true, locks:true} للوصول إلى IndexedDB وWeb Locks.

بالإضافة إلى استدعاء هذه الإضافة الإضافية، سيتوافق الوصول إلى مساحة التخزين التي لا تستخدم ملفات تعريف الارتباط مع المتطلبات الحالية للوصول إلى ملفات تعريف الارتباط من خلال واجهة برمجة التطبيقات Storage Access API. على سبيل المثال، في Chrome، لا يتم عرض أي طلب عندما تكون المصادر في مجموعة المواقع الإلكترونية ذات الصلة نفسها (RWS، الاسم الجديد لمجموعات الطرف الأول). أما المصادر التي لا تكون جزءًا من بيئة RWS نفسها، فستخضع لمتطلبات المطالبة بواجهة برمجة التطبيقات Storage Access في Chrome.

المدة

ستتوفّر مرحلة التجربة والتقييم من الإصدار 120 من Chrome حتى الإصدار 125 (أو بعد 6 آب (أغسطس) 2024 في أيّ مرحلة).

النطاق

لا يتوفّر في الإصدار 120 من Chrome سوى مساحة تخزين DOM (مساحة التخزين المؤقت ومساحة التخزين على الجهاز) وقاعدة البيانات المفهرَسة وأقفال الويب.

تمت إضافة "مساحة تخزين ذاكرة التخزين المؤقت" و"نظام الملفات الخاصة المصدر" و"الحصة" و"مساحة التخزين الثنائية الكبيرة" و"قناة البث" في Chrome 121.

تمت إضافة مهام مشترَكة وإمكانية التحكّم في تضمين ملفات تعريف الارتباط في الإصدار 123 من Chrome.

يكتسب العامل المخصّص إذن الوصول إلى ملفات تعريف الارتباط غير المقسّمة إذا تمّ استدعاء requestStorageAccess قبل إنشاء العامل اعتبارًا من الإصدار 120 من Chrome (لا يتطلّب ذلك استخدام معرّف Storage Access API).

المشاركة

  1. يمكنك تقييم كيفية استخدام التخزين لملفات تعريف الارتباط وغير ملفات تعريف الارتباط في سياق تابع لجهة خارجية. قد تساعدك أمثلة حالات الاستخدام في معرفة ما إذا كان هذا الاقتراح يناسب احتياجاتك.
  2. افتح الإصدار 120 من Chrome (أو إصدار أحدث) وتأكَّد من تفعيل العلامة test-third-party-cookie-phaseout.
  3. إذا كنت تريد اختبار الميزة على الجهاز بدون إعداد رمز مميّز لتجربة المصدر أولاً، يمكنك تفعيل ‎#enable-experimental-web-platform-features في المتصفّح.
    1. بعد الانتهاء من الاختبار على الجهاز، يمكنك register في مرحلة التجربة والتقييم في StorageAccessAPIBeyondCookies للحصول على رمز مميّز لنطاقاتك. للحصول على تعليمات أكثر تفصيلاً، يُرجى الانتقال إلى مقالة البدء في استخدام تجارب المصدر. يقدّم دليل تحديد المشاكل وحلّها في تجارب Chrome للإصدارات العلنية قائمة تحقّق كاملة للتأكّد من ضبط الرمز المميّز بشكل صحيح.
    2. أدخِل رمز الأمان هذا الخاص بالإصدار التجريبي من التطبيق الأصلي في إطار iframe الذي تحتاج إلى استخدام معرّف Storage Access API فيه، وذلك باستخدام عنوان HTTP أو علامة وصفية بتنسيق HTML أو بشكل آلي. يُرجى العِلم أنّه يجب تضمين الرمز المميّز من قِبل أيّ لقطة تريد استخدام واجهة برمجة التطبيقات هذه، ولن يؤدي تضمينه في اللقطة الرئيسية إلى تفعيل واجهة برمجة التطبيقات في اللقطات الفرعية.
  4. استدعاء document.requestStorageAccess(...) للحصول على معرّف واجهة برمجة التطبيقات Storage Access API في إطار iframe على مستوى الموقع الإلكتروني يمكنك الاطّلاع على مستندات واجهة برمجة التطبيقات Storage Access للتعرّف على متطلبات إتمام هذا الطلب بنجاح.
  5. يمكنك نقل مساحة التخزين ذات الصلة في إطار iframe لاستخدام مؤشر واجهة برمجة التطبيقات Storage Access في حال توفّره. على سبيل المثال، تصبح المكالمات إلى window.sessionStorage.setItem(...) هي handle.sessionStorage.setItem(...).
  6. افتح موقعك الإلكتروني وتأكَّد من أنّ مؤشر الوصول إلى مساحة التخزين يعمل على النحو المطلوب.
  7. لإيقاف المشاركة في مرحلة التجربة والتقييم، عليك إزالة الرمز المميّز الذي أضفته في الخطوة 3.
  8. يُرجى إرسال الملاحظات أو طرح أي مشاكل تواجهها في مستودع Storage Access API Non-Cookie Storage GitHub.

عرض توضيحي: استخدام Storage Access API للوصول إلى مساحة تخزين محلية غير مقسّمة

يوضّح العرض التوضيحي التالي كيفية الوصول إلى قنوات البث غير المقسّمة من إطار iframe تابع لجهة خارجية باستخدام واجهة برمجة التطبيقات Storage Access API:

https://saa-beyond-cookies.glitch.me/

يتطلّب العرض الترويجي استخدام الإصدار 121 من Chrome أو إصدار أحدث مع تفعيل العلامة test-third-party-cookie-phaseout.

مراجع إضافية