الخلاصة

  • تقترح مسودة 28 أكتوبر الفردية خيارين لا يجتمعان: client_ip_ranges يورد بادئات IPv4 وIPv6 في البيانات الوصفية، وclient_ip_ranges_uri يشير إلى ملف JSON عبر HTTPS. تسجيل الإعلان أو تنزيل الملف لا يساوي قبول الخادم لما فيه من عناوين.
  • تعثر الجلب أو فساد الملف أو سحب الإعلان لا يفتح الوصول تلقائياً. يجوز للخادم الإبقاء على المجموعة المقبولة، أو تضييقها إلى تقاطعها مع بديل ينتظر الموافقة، مع حد زمني للاحتفاظ. بعد انتهاء الحد يرفض الخادم الذي يفرض القيد طلبات العميل حتى يقبل مجموعة حالية أو يرفع القيد بقرار محلي صريح.

قائمة منشورة لا تعني بطاقة دخول

ينقل مشغّل عميلاً يستخدم OAuth إلى بوابة خروج سحابية جديدة. الملف الجديد متاح والخادم يتلقاه بنجاح، لكن طلب الرمز من العنوان الجديد لا يمر. النص المقترح يجعل هذه الفجوة مقصودة: استلام القائمة خطوة، وقبولها ضمن سياسة الوصول خطوة ثانية. إضافة بادئة واسعة إلى الملف لا تمنحها المرور بمجرد وصول استجابة HTTP ناجحة.

للعميل طريقان للإعلان: يضع البادئات مباشرة في البيانات الوصفية، أو يضع رابط HTTPS لملف مستقل. لا يجمعهما. غياب الحقلين يعني عدم وجود إعلان؛ أما المصفوفة الفارغة فهي إعلان مجموعة خالية. وعند تحديث العميل وفق RFC 7592، تلزم المسودة الخادم بألا يعتبر المصفوفة الفارغة طلباً لحذف الحقل. إذا قَبِل مجموعة خالية وفرضها، فلن يمر أي عنوان مصدر.

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

إذا تعذر جلب الملف لا تسقط الحراسة. الفشل في الجلب أو التحقق لا يجوز أن يبيح عنواناً كان ممنوعاً. سحب الإعلان أيضاً لا يخفف القيد من تلقاء نفسه؛ يلزم قرار سياسة محلية واضح. وينبغي للخادم تحديد مدة استمرار استخدام المجموعة القديمة أثناء عطل أو سحب أو انتظار بديل. إذا انتهت المدة، يرفض الخادم الذي كان يفرض القيد الطلبات حتى يقبل مجموعة من الإعلان الجاري أو يقرر صراحة إيقاف الفرض. إعادة فحص بديل غير مقبول لا تعيد ضبط العداد.

التمسك بالقائمة القديمة إلى الأبد له ثمن. قد ينتقل عنوان تركه العميل إلى طرف آخر، فيما يظل الخادم يسمح بمصدره. التقاطع وحد الاحتفاظ يقلصان هذا الاحتمال. تنظم RFC 9111 تخزين ردود HTTP، لكن المجموعة المقبولة حالة منفصلة لدى خادم التفويض. رد 304 Not Modified يؤكد نسخة مخزنة، ولا يقرر سياسة قبولها.

جدار النار أمام نقطة إصدار الرموز يرى عنوان المصدر، ولا يعرف بالضرورة أي عميل OAuth أرسل الطلب؛ لذلك يستطيع فرض مجموع النطاقات لا نطاق كل عميل بمفرده. الخادم يطبق القاعدة الفردية بعد تحديد هوية العميل. تطابق IP لا يحل محل المصادقة. والتصريح الموقّع الذي يحتوي رابط الملف يزكي الرابط، لا محتوى كل نسخة مستقبلية لدى المضيف. يستطيع المضيف تعطيل العميل بنشر مجموعة فارغة أو إبقاء الملف غير متاح حتى ينقضي الحد.

تسجل صفحة IETF النص كمقترح فردي بلا نتيجة تشغيل مقاسة. اختبار نقل فعلي يحتاج نسخة الملف المستلمة، المجموعة المقبولة، ساعة الموافقة، تاريخ انتهاء العناوين القديمة ونتائج طلبات الرمز قبل النقل وبعده.

المصادر: المسودة؛ حالة IETF؛ RFC 7592؛ RFC 9111.