الخلاصة

  • تضيف النسخة الخامسة من مسودة IETF فردية مثالاً لوكيل يتصرف خلال يوم واحد بسقف 30 دولاراً لكل عملية و100 دولار لمجموع اليوم عبر الطعام والتنقل ولوازم المنزل. تُعلَّق رحلة قيمتها 38 دولاراً حتى يجيزها الشخص استثناءً.
  • تعرف كل خدمة قيمة طلبها وحده. فرض السقف المشترك يحتاج هوية واحدة للمنحة، وحساباً موثوقاً لما صُرف، وإلغاءً يصل إلى كل صلاحية متفرعة عنها. تعرض المسودة الفجوة ولا تقدم عداداً تشغيلياً مشتركاً.

إيصال عند كل متجر، وميزانية في مكان آخر

يشتري الوكيل عشاءً بقيمة 24 دولاراً. يحاول حجز رحلة بتكلفة 38 دولاراً فتتوقف عند حد العملية الواحدة، ثم يطلب مستلزمات منزلية بقيمة 18 دولاراً. هذا المشهد من حالة «الطلبات اليومية الصغيرة» في النسخة الخامسة من مسودة تفويض الوكلاء. إنه مثال افتراضي وضعه المؤلفون، لا كشف مبيعات لتجار حقيقيين. لكنه يضع مشكلة السلطة على منضدة المحاسبة: من يخبر المتجر الثالث بما استهلكه المتجران الأولان من المئة دولار؟

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

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

موافقة واحدة لا تعطي الوكيل قلم تعديل الشروط

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

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

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

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

السجلات الأصلية