إشعارات واجهة برمجة التطبيقات لإدارة بيانات الاعتماد الموحّدة

واجهة برمجة التطبيقات Federated Credential Management API يتم شحنها في Chrome 108 ولكن من المتوقّع أن تستمر تتطور. ليس هناك تغييرات قد تؤدي إلى أعطال في المستقبل.

من هم المستخدمون المعنيون بهذه التعديلات؟

يمكنك الاطّلاع على هذه التعديلات في الحالات التالية:

  • أنت موفِّر هوية (idP) تستخدم واجهة برمجة التطبيقات Federated Credential Management API.
  • إذا كنت تمثّل موفِّر هوية أو جهة محظورة وتريد توسيع نطاق واجهة برمجة التطبيقات لتناسب استخدامك الحالة - مثل كنت تراقب أو تشارك في المناقشات حول مستودع FedID CG ويريدون فهم التغييرات التي تم إجراؤها على واجهة برمجة التطبيقات.
  • إذا كنت مورّدًا في استخدام المتصفّحات وتريد متابعة عملية التنفيذ حالة واجهة برمجة التطبيقات.

إذا كنت مستخدمًا جديدًا لواجهة برمجة التطبيقات هذه أو لم يسبق لك تجربتها بعد، يُرجى الاطّلاع على مقدمة عن واجهة برمجة التطبيقات Federated Credential Management.

سجلّ التغييرات

للاطّلاع على التغييرات التي تطرأ على واجهة برمجة التطبيقات في FedCM، يمكنك الاطّلاع على المدونة أو النشرة الإخبارية.

Chrome 125 (أبريل 2024)

Chrome 123 (شباط/فبراير 2024)

  • تمت إضافة دعم لواجهة برمجة تطبيقات تلميح النطاق. تلميح النطاق واجهة برمجة التطبيقات التي تتيح للجهات المحظورة تحديد السمة domainHint في طلب بيانات من واجهة برمجة التطبيقات في FedCM لعرض النتائج المطابقة فقط حساب المستخدم.

Chrome 122 (يناير 2024)

Chrome 121 (كانون الأول/ديسمبر 2023)

  • الشرط المريح لتفعيل إعادة المصادقة التلقائية لبرنامج FedCM:
    • تتوفر ميزة إعادة المصادقة التلقائية في لا يتم تشغيل FedCM إلا عند عودة المستخدم. هذا يعني أن المستخدم يحتاج إلى تسجيل الدخول إلى الجهة المحظورة باستخدام برنامج FedCM مرة واحدة على كل مثيل متصفّح، قبل أن تتمكن من إعادة المصادقة التلقائية. كانت هذه الحالة في البداية تم إدخالهما للتخفيف من مخاطر انتحال أجهزة التتبّع التي تدّعي أنّها عبارة عن هوية موفِّر الهوية (IdP) وخداع المتصفِّح لإعادة مصادقة المستخدم تلقائيًا بدون علمه أو موافقته. ومع ذلك، لا يمكن أن يضمن هذا التصميم ميزة الخصوصية إذا كان بإمكان أداة التتبُّع الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية على سياق الجهة المحظورة ولا يوفر FedCM إلا مجموعة فرعية من الإمكانات الممكنة عبر ملفات تعريف الارتباط التابعة لجهات خارجية، وبالتالي إذا كان بإمكان أداة التتبُّع الوصول إلى ملفات تعريف ارتباط تابعة لجهات خارجية ملفات تعريف الارتباط في سياق الجهة المحظورة، فإن الوصول إلى FedCM لا يوفر خصوصية إضافية إدخالهم.
      نظرًا لوجود استخدامات مشروعة لملفات تعريف الارتباط التابعة لجهات خارجية والتخفيف من إلى تحسين تجربة المستخدم، يتغير هذا السلوك من Chrome 121. لقد قررنا تخفيف قيود الحالة لمعاملة المستخدم إرجاع: في حال كانت ملفات تعريف الارتباط التابعة لجهات خارجية متاحة لموفِّر الهوية (idP) على الجهة المحظورة السياق، سيثق Chrome في مطالبة موفِّر الهوية بشأن حالة حساب المستخدم تم تحديدها من خلال قائمة approved_clients وتشغيل إعادة المصادقة التلقائية إن أمكن. يمكن توفير ملفات تعريف الارتباط التابعة لجهات خارجية من خلال: إعدادات المستخدم سياسات المؤسسات وأساليب الإرشادات (Safari Firefox Chrome) وواجهات برمجة تطبيقات النظام الأساسي للويب (مثل الوصول إلى مساحة التخزين) API). ملاحظة عندما يفقد موفِّر الهوية إمكانية الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية في المستقبل، إذا لم يمنح أبدًا إذنًا صريحًا لواجهة مستخدم FedCM (على سبيل المثال، بالنقر على الزر متابعة كـ) من قبل، فسيتم التعامل معهم على أنهم مستخدم جديد.
      ما مِن إجراءات مطلوبة من المطوِّر. يُرجى العِلم أنّ مسار إعادة المصادقة التلقائية يمكن أن ستؤدي إلى مزيد من التغييرات في حال كان موفِّر الهوية (idP) لديه إمكانية الوصول إلى ملفات تعريف الارتباط التابعة لجهات خارجية ويدّعي أنّ المستخدم قد أنشأ حسابًا على الجهة المحظورة في السابق

Chrome 120 (تشرين الثاني/نوفمبر 2023)

  • تمت إضافة دعم الميزات الثلاث التالية في Chrome 120:
    • واجهة برمجة التطبيقات لحالة تسجيل الدخول: حالة تسجيل الدخول واجهة برمجة التطبيقات هي آلية حيث يُبلغ الموقع الإلكتروني، وخاصة موفِّر الهوية، صفحة تسجيل الدخول. باستخدام واجهة برمجة التطبيقات هذه، يمكن للمتصفح تقليل الطلبات غير الضرورية إلى موفِّر الهوية (idP) ويحدّ من هجمات التوقيت المحتملة. واجهة برمجة تطبيقات حالة تسجيل الدخول هي متطلبات FedCM مع هذا التغيير، سيتم عرض علامة chrome://flags/#fedcm-without-third-party-cookies لم تعد مطلوبة لتفعيل FedCM عند حظر ملفات تعريف الارتباط التابعة لجهات خارجية.
    • Error API: يعرض الخطأ ترسِل واجهة برمجة التطبيقات إشعارًا إلى مستخدم من خلال عرض واجهة مستخدم للمتصفّح تتضمن معلومات الخطأ التي قدّمها موفِّر الهوية (idP).
    • واجهة برمجة تطبيقات الإبلاغ التي يتم اختيارها تلقائيًا: العلامة التي يتم اختيارها تلقائيًا واجهة برمجة التطبيقات يشارك ما إذا كان قد تم الحصول على إذن صريح من المستخدم من خلال النقر على زر المتابعة باسم مع كل من موفِّر الهوية (idP) وموفِّر الهوية (RP) عند إعادة المصادقة تلقائيًا حدوث وساطة صريحة. لا تتم المشاركة إلا بعد المستخدم يتم منح الإذن للتواصل مع موفِّر الهوية (idP) ومقدِّم الخدمة (RP).

Chrome 117 (أيلول/سبتمبر 2023)

Chrome 116 (آب/أغسطس 2023)

  • تمت إضافة دعم للميزات الثلاث التالية في الإصدار 116 من Chrome:
    • Login Hint API: حدِّد حساب مستخدم مفضّلاً لتسجيل الدخول إليه.
    • واجهة برمجة تطبيقات معلومات المستخدم: يمكنك جلب معلومات المستخدم المكرّر الزيارة حتى يتمكّن موفِّر الهوية (IdP) من عرض زر تسجيل دخول مخصّص داخل إطار iframe.
    • RP Context API: استخدِم عنوانًا مختلفًا عن "تسجيل الدخول". في مربع الحوار FedCM
  • تتوفّر النسخة التجريبية الأصلية لواجهة برمجة التطبيقات لحالة تسجيل الدخول لموفِّر الهوية (IdP). يمكنك التعرّف على مزيد من المعلومات عن ذلك في تعديلات FedCM: واجهة برمجة التطبيقات لحالة تسجيل الدخول لموفِّر الهوية (idP) و"تلميح تسجيل الدخول" وغير ذلك.

Chrome 115 (حزيران/يونيو 2023)

  • تمت إتاحة ميزة إعادة المصادقة التلقائية التي تسمح للمستخدمين بإعادة المصادقة تلقائيًا عند عودتهم بعد المصادقة الأولية باستخدام برنامج FedCM. وهذا من شأنه تحسين تجربة المستخدم وتمكين إعادة المصادقة بشكل أكثر سلاسة إلى الجهة المحظورة بعد المصادقة الأولية. مزيد من المعلومات حول إعادة المصادقة التلقائية ضمن FedCM

Chrome 110 (شباط/فبراير 2023)

  • بالنسبة إلى نقطة نهاية تأكيد رقم التعريف، على موفِّري الهوية التحقُّق من العنوان Origin (بدلاً من العنوان Referer) لمعرفة ما إذا كانت القيمة تُطابق مصدر معرِّف العميل.
  • أصبح دعم إطارات iframe من مصادر متعددة متاحًا الآن لبروتوكول FedCM. تشير رسالة الأشكال البيانية يجب أن يحدد أداة التضمين Permissions-Policy identity-credentials-get للسماح بواجهة برمجة تطبيقات FedCM في النطاق المضمّن المتعدد المصادر iframe. يمكنك التحقق من مثال على إطار iframe متعدد المصادر.
  • تمت إضافة علامة Chrome جديدة chrome://flags/#fedcm-without-third-party-cookies. باستخدام هذه العلامة، يمكنك اختبار وظائف FedCM في Chrome من خلال حظر ملفات تعريف الارتباط التابعة لجهات خارجية يمكنك الاطّلاع على المزيد من المعلومات في مستندات FedCM.

Chrome 108 (تشرين الأول/أكتوبر 2022)

  • "بيان المستوى الأعلى" يُعرف الآن باسم "ملف معروف" في المستند. ولا يلزم إجراء أي تغييرات في التنفيذ.
  • "بيان موفِّر الهوية" يسمى الآن "ملف الإعداد" في المستند. لا التغييرات في التنفيذ.
  • id_token_endpoint في "ملف الإعداد" تغيير اسم إلى id_assertion_endpoint
  • تتضمن الطلبات الموجّهة إلى موفِّر الهوية (idP) الآن Sec-Fetch-Dest: webidentity بدلاً من عنوان Sec-FedCM-CSRF: ?1.

Chrome 105 (آب/أغسطس 2022)

  • تمت إضافة معلومات أمان مهمة إلى المستند. الهوية يحتاج موفِّر الهوية (IdP) إلى التحقُّق مما إذا كان عنوان Referer يتطابق مع المصدر الجهة المحظورة المسجَّلة مسبقًا في نقطة نهاية الرمز المميّز لرقم التعريف.
  • تمت إعادة تسمية بيان المستوى الأعلى من /.well-known/fedcm.json إلى يجب أن يتوفّر /.well-known/web-identity وعنوان URL المحدَّد في provider_urls تضمين اسم الملف.
  • طرق login() وlogout() وrevoke() على FederatedCredential الافتراضية لم تعد متاحة.
  • واجهة برمجة التطبيقات Federated Credential Management API تستخدم الآن نوعًا جديدًا IdentityCredential بدلاً من FederatedCredential يمكن استخدام هذا الكشف عن الميزات ولكنه تغيير غير مرئي إلى حد كبير.
  • يمكنك نقل وظائف تسجيل الدخول من مجموعة من navigator.credentials.get() و من FederatedCredential.prototype.login() إلى navigator.credentials.get().
  • لم تعُد نقطة نهاية الإبطال في البيان سارية.
  • استخدِم الحقل identity بدلاً من الحقل federated في ما يلي: navigator.credentials.get() مكالمة
  • أصبحت "url" الآن configURL ويجب أن يكون عنوان URL الكامل لملف البيان بتنسيق JSON بدلاً من مسار مكالمة navigator.credentials.get().
  • nonce هي الآن معلمة اختيارية لـ navigator.credentials.get().
  • لم يعد hint متاحًا كخيار لـ navigator.credentials.get()
const credential = await navigator.credentials.get({
  identity: {
    providers: [{
      configURL: 'https://idp.example/anything.json',
      clientId: '********',
      nonce: '******'
    }]
  }
});
const { token } = credential;

Chrome 104 (حزيران/يونيو 2022)

  • تم الآن إرسال مَعلمة consent_acquired إلى نقطة نهاية الرمز المميّز لرقم التعريف. disclosure_text_shown لم يتم تغيير القيمة.
  • أيقونات العلامة التجارية في بيان موفِّر الهوية (idP) توقفوا عن إتاحة صور SVG (رسومات موجّهة يمكن تغيير حجمها)، ولكنّهم لم يعودوا بحاجة إلى السماح بها من قِبل الجهة المحظورة سياسة أمان المحتوى:

Chrome 103 (أيار/مايو 2022)

  • وتتوافق مع بيئات سطح المكتب.
  • تتيح هذه السياسة ضبط الإعدادات لكل جهة محظورة على الكمبيوتر.
  • تشير رسالة الأشكال البيانية نقطة نهاية البيانات الوصفية للعميل أصبحت الآن اختيارية. في نقطة النهاية هذه، يكون عنوان URL لسياسة الخصوصية اختياريًا أيضًا.
  • تمت إضافة تنبيه حول استخدام سياسة CSP connect-src في المستند.

الموارد