RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمةRFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة

يعالج موضوع «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» مشكلة محددة: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وينطلق من عناصر فعلية هي RFC 9700, OAuth 2.0, PKCE, redirect URI, open redirector للوصول إلى قرار يمكن التحقق منه بدلا من وصف عام.

المشكلة العملية: RFC 9700 مع OAuth 2.0

التنفيذ المتين يفصل بين ما يقترحه النموذج وما يسمح به التطبيق وما يتحقق منه.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c11 من PKCE ويعامل redirect URI كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على open redirector إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ RFC 9700 بإحداث الأثر المقصود حول OAuth 2.0. إذا فشل تحقق RFC 9700 يعيد rollback الإعداد المرتبط بـ OAuth 2.0 ثم يشغل rfc9700-oauth-ar-c11 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من PKCE. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى redirect URI وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار. وتبقى الخلاصة محكومة بحدود open redirector و OAuth 2.0؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c11 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c12 من redirect URI ويعامل open redirector كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على RFC 9700 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ OAuth 2.0 بإحداث الأثر المقصود حول PKCE. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل redirect URI نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به. لاختبار open redirector تتضمن fixture ‏rfc9700-oauth-ar-c12 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى RFC 9700. بعد ذلك يراقب التشغيل الانتقال بين RFC 9700 و OAuth 2.0، بينما يتحقق الأمن من أن PKCE لا يحصل على صلاحية ضمنية أو بيانات زائدة.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c13 من open redirector ويعامل RFC 9700 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على OAuth 2.0 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ PKCE بإحداث الأثر المقصود حول redirect URI. إذا فشل تحقق PKCE يعيد rollback الإعداد المرتبط بـ redirect URI ثم يشغل rfc9700-oauth-ar-c13 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من open redirector. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى RFC 9700 وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار. وتبقى الخلاصة محكومة بحدود OAuth 2.0 و redirect URI؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c13 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c14 من RFC 9700 ويعامل OAuth 2.0 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على PKCE إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ redirect URI بإحداث الأثر المقصود حول open redirector. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل RFC 9700 نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به. لاختبار OAuth 2.0 تتضمن fixture ‏rfc9700-oauth-ar-c14 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى PKCE. بعد ذلك يراقب التشغيل الانتقال بين PKCE و redirect URI، بينما يتحقق الأمن من أن open redirector لا يحصل على صلاحية ضمنية أو بيانات زائدة.

حالة تقنية لـ RFC 9700 ضمن RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة
لقطة سياقية لقسم «المشكلة العملية: RFC 9700 مع OAuth 2.0»: حالة محلية منتجة فعليا للتحقق rfc9700-oauth-ar.
نقطة دليل: توضح PHP أن PHP 8.5 adds the URI extension, pipe operator, clone-with syntax and additional language/runtime improvements. ويُستخدم هذا المرجع لتأطير القسم «المشكلة العملية: RFC 9700 مع OAuth 2.0» من دون أن يحل محل الاختبار المحلي. [S1]

حالات الفشل والإشارات وطريقة التشخيص

نقطة البداية ليست ميزة جديدة، بل حد قرار يمكن ملاحظته وتدقيقه.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c21 من redirect URI ويعامل open redirector كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على RFC 9700 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ OAuth 2.0 بإحداث الأثر المقصود حول PKCE. بعد ذلك يراقب التشغيل الانتقال بين RFC 9700 و OAuth 2.0، بينما يتحقق الأمن من أن PKCE لا يحصل على صلاحية ضمنية أو بيانات زائدة. إذا فشل تحقق OAuth 2.0 يعيد rollback الإعداد المرتبط بـ PKCE ثم يشغل rfc9700-oauth-ar-c21 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من redirect URI. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى open redirector وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c22 من open redirector ويعامل RFC 9700 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على OAuth 2.0 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ PKCE بإحداث الأثر المقصود حول redirect URI. وتبقى الخلاصة محكومة بحدود OAuth 2.0 و redirect URI؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c22 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل open redirector نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به. لاختبار RFC 9700 تتضمن fixture ‏rfc9700-oauth-ar-c22 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى OAuth 2.0.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c23 من RFC 9700 ويعامل OAuth 2.0 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على PKCE إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ redirect URI بإحداث الأثر المقصود حول open redirector. بعد ذلك يراقب التشغيل الانتقال بين PKCE و redirect URI، بينما يتحقق الأمن من أن open redirector لا يحصل على صلاحية ضمنية أو بيانات زائدة. إذا فشل تحقق redirect URI يعيد rollback الإعداد المرتبط بـ open redirector ثم يشغل rfc9700-oauth-ar-c23 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من RFC 9700. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى OAuth 2.0 وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c24 من OAuth 2.0 ويعامل PKCE كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على redirect URI إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ open redirector بإحداث الأثر المقصود حول RFC 9700. وتبقى الخلاصة محكومة بحدود redirect URI و RFC 9700؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c24 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل OAuth 2.0 نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به. لاختبار PKCE تتضمن fixture ‏rfc9700-oauth-ar-c24 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى redirect URI.

حالة تقنية لـ OAuth 2.0 ضمن RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة
لقطة سياقية لقسم «حالات الفشل والإشارات وطريقة التشخيص»: حالة محلية منتجة فعليا للتحقق rfc9700-oauth-ar.
نقطة دليل: توضح Model Context Protocol أن For HTTP authorization, MCP requires resource-bound tokens, server-side audience validation and PKCE, and forbids insecure token passthrough patterns. ويُستخدم هذا المرجع لتأطير القسم «حالات الفشل والإشارات وطريقة التشخيص» من دون أن يحل محل الاختبار المحلي. [S2]

نشر تدريجي وخطة رجوع

التصميم القابل للتشغيل يوضح من يقرر، وما الدليل المتاح، وما الذي يمكن الرجوع عنه.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c31 من open redirector ويعامل RFC 9700 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على OAuth 2.0 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ PKCE بإحداث الأثر المقصود حول redirect URI. لاختبار RFC 9700 تتضمن fixture ‏rfc9700-oauth-ar-c31 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى OAuth 2.0. بعد ذلك يراقب التشغيل الانتقال بين OAuth 2.0 و PKCE، بينما يتحقق الأمن من أن redirect URI لا يحصل على صلاحية ضمنية أو بيانات زائدة. إذا فشل تحقق PKCE يعيد rollback الإعداد المرتبط بـ redirect URI ثم يشغل rfc9700-oauth-ar-c31 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من open redirector.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c32 من RFC 9700 ويعامل OAuth 2.0 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على PKCE إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ redirect URI بإحداث الأثر المقصود حول open redirector. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى OAuth 2.0 وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار. وتبقى الخلاصة محكومة بحدود PKCE و open redirector؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c32 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل RFC 9700 نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c33 من OAuth 2.0 ويعامل PKCE كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على redirect URI إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ open redirector بإحداث الأثر المقصود حول RFC 9700. لاختبار PKCE تتضمن fixture ‏rfc9700-oauth-ar-c33 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى redirect URI. بعد ذلك يراقب التشغيل الانتقال بين redirect URI و open redirector، بينما يتحقق الأمن من أن RFC 9700 لا يحصل على صلاحية ضمنية أو بيانات زائدة. إذا فشل تحقق open redirector يعيد rollback الإعداد المرتبط بـ RFC 9700 ثم يشغل rfc9700-oauth-ar-c33 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من OAuth 2.0.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c34 من PKCE ويعامل redirect URI كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على open redirector إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ RFC 9700 بإحداث الأثر المقصود حول OAuth 2.0. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى redirect URI وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار. وتبقى الخلاصة محكومة بحدود open redirector و OAuth 2.0؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c34 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل PKCE نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به.

حالة تقنية لـ PKCE ضمن RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة
لقطة سياقية لقسم «نشر تدريجي وخطة رجوع»: حالة محلية منتجة فعليا للتحقق rfc9700-oauth-ar.
نقطة دليل: توضح IETF / RFC Editor أن RFC 9700 updates OAuth 2.0 security practice, including exact redirect URI matching and avoiding open redirectors and insecure legacy patterns. ويُستخدم هذا المرجع لتأطير القسم «نشر تدريجي وخطة رجوع» من دون أن يحل محل الاختبار المحلي. [S3]

معايير قرار الإنتاج

تظهر الصعوبة الحقيقية عندما يلتقي المسار الطبيعي بالصلاحيات والأخطاء وقيود الإنتاج.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c41 من RFC 9700 ويعامل OAuth 2.0 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على PKCE إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ redirect URI بإحداث الأثر المقصود حول open redirector. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل RFC 9700 نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به. لاختبار OAuth 2.0 تتضمن fixture ‏rfc9700-oauth-ar-c41 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى PKCE. بعد ذلك يراقب التشغيل الانتقال بين PKCE و redirect URI، بينما يتحقق الأمن من أن open redirector لا يحصل على صلاحية ضمنية أو بيانات زائدة.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c42 من OAuth 2.0 ويعامل PKCE كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على redirect URI إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ open redirector بإحداث الأثر المقصود حول RFC 9700. إذا فشل تحقق open redirector يعيد rollback الإعداد المرتبط بـ RFC 9700 ثم يشغل rfc9700-oauth-ar-c42 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من OAuth 2.0. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى PKCE وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار. وتبقى الخلاصة محكومة بحدود redirect URI و RFC 9700؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c42 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c43 من PKCE ويعامل redirect URI كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على open redirector إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ RFC 9700 بإحداث الأثر المقصود حول OAuth 2.0. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل PKCE نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به. لاختبار redirect URI تتضمن fixture ‏rfc9700-oauth-ar-c43 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى open redirector. بعد ذلك يراقب التشغيل الانتقال بين open redirector و RFC 9700، بينما يتحقق الأمن من أن OAuth 2.0 لا يحصل على صلاحية ضمنية أو بيانات زائدة.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c44 من redirect URI ويعامل open redirector كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على RFC 9700 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ OAuth 2.0 بإحداث الأثر المقصود حول PKCE. إذا فشل تحقق OAuth 2.0 يعيد rollback الإعداد المرتبط بـ PKCE ثم يشغل rfc9700-oauth-ar-c44 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من redirect URI. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى open redirector وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار. وتبقى الخلاصة محكومة بحدود RFC 9700 و PKCE؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c44 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة.

حالة تقنية لـ redirect URI ضمن RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة
لقطة سياقية لقسم «معايير قرار الإنتاج»: حالة محلية منتجة فعليا للتحقق rfc9700-oauth-ar.
نقطة دليل: توضح PostgreSQL Global Development Group أن PostgreSQL 18 documents OAuth client authentication concepts and terminology for clients such as libpq and psql. ويُستخدم هذا المرجع لتأطير القسم «معايير قرار الإنتاج» من دون أن يحل محل الاختبار المحلي. [S4]

حدود الثقة حول PKCE

التنفيذ المتين يفصل بين ما يقترحه النموذج وما يسمح به التطبيق وما يتحقق منه.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c51 من OAuth 2.0 ويعامل PKCE كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على redirect URI إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ open redirector بإحداث الأثر المقصود حول RFC 9700. وتبقى الخلاصة محكومة بحدود redirect URI و RFC 9700؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c51 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل OAuth 2.0 نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به. لاختبار PKCE تتضمن fixture ‏rfc9700-oauth-ar-c51 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى redirect URI.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c52 من PKCE ويعامل redirect URI كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على open redirector إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ RFC 9700 بإحداث الأثر المقصود حول OAuth 2.0. بعد ذلك يراقب التشغيل الانتقال بين open redirector و RFC 9700، بينما يتحقق الأمن من أن OAuth 2.0 لا يحصل على صلاحية ضمنية أو بيانات زائدة. إذا فشل تحقق RFC 9700 يعيد rollback الإعداد المرتبط بـ OAuth 2.0 ثم يشغل rfc9700-oauth-ar-c52 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من PKCE. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى redirect URI وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c53 من redirect URI ويعامل open redirector كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على RFC 9700 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ OAuth 2.0 بإحداث الأثر المقصود حول PKCE. وتبقى الخلاصة محكومة بحدود RFC 9700 و PKCE؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c53 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل redirect URI نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به. لاختبار open redirector تتضمن fixture ‏rfc9700-oauth-ar-c53 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى RFC 9700.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c54 من open redirector ويعامل RFC 9700 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على OAuth 2.0 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ PKCE بإحداث الأثر المقصود حول redirect URI. بعد ذلك يراقب التشغيل الانتقال بين OAuth 2.0 و PKCE، بينما يتحقق الأمن من أن redirect URI لا يحصل على صلاحية ضمنية أو بيانات زائدة. إذا فشل تحقق PKCE يعيد rollback الإعداد المرتبط بـ redirect URI ثم يشغل rfc9700-oauth-ar-c54 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من open redirector. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى RFC 9700 وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار.

حالة تقنية لـ open redirector ضمن RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة
لقطة سياقية لقسم «حدود الثقة حول PKCE»: حالة محلية منتجة فعليا للتحقق rfc9700-oauth-ar.
نقطة دليل: توضح Mozilla أن require-trusted-types-for can make DOM XSS sinks reject raw strings and accept trusted typed values instead. ويُستخدم هذا المرجع لتأطير القسم «حدود الثقة حول PKCE» من دون أن يحل محل الاختبار المحلي. [S5]

بناء مسار القرار باستخدام redirect URI

نقطة البداية ليست ميزة جديدة، بل حد قرار يمكن ملاحظته وتدقيقه.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c61 من PKCE ويعامل redirect URI كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على open redirector إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ RFC 9700 بإحداث الأثر المقصود حول OAuth 2.0. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى redirect URI وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار. وتبقى الخلاصة محكومة بحدود open redirector و OAuth 2.0؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c61 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل PKCE نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c62 من redirect URI ويعامل open redirector كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على RFC 9700 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ OAuth 2.0 بإحداث الأثر المقصود حول PKCE. لاختبار open redirector تتضمن fixture ‏rfc9700-oauth-ar-c62 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى RFC 9700. بعد ذلك يراقب التشغيل الانتقال بين RFC 9700 و OAuth 2.0، بينما يتحقق الأمن من أن PKCE لا يحصل على صلاحية ضمنية أو بيانات زائدة. إذا فشل تحقق OAuth 2.0 يعيد rollback الإعداد المرتبط بـ PKCE ثم يشغل rfc9700-oauth-ar-c62 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من redirect URI.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c63 من open redirector ويعامل RFC 9700 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على OAuth 2.0 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ PKCE بإحداث الأثر المقصود حول redirect URI. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى RFC 9700 وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار. وتبقى الخلاصة محكومة بحدود OAuth 2.0 و redirect URI؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c63 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل open redirector نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c64 من RFC 9700 ويعامل OAuth 2.0 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على PKCE إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ redirect URI بإحداث الأثر المقصود حول open redirector. لاختبار OAuth 2.0 تتضمن fixture ‏rfc9700-oauth-ar-c64 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى PKCE. بعد ذلك يراقب التشغيل الانتقال بين PKCE و redirect URI، بينما يتحقق الأمن من أن open redirector لا يحصل على صلاحية ضمنية أو بيانات زائدة. إذا فشل تحقق redirect URI يعيد rollback الإعداد المرتبط بـ open redirector ثم يشغل rfc9700-oauth-ar-c64 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من RFC 9700.

حالة تقنية لـ RFC 9700 ضمن RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة
لقطة سياقية لقسم «بناء مسار القرار باستخدام redirect URI»: حالة محلية منتجة فعليا للتحقق rfc9700-oauth-ar.
نقطة دليل: توضح W3C أن WebAuthn Level 3 defines strong public-key credentials scoped to relying parties and reached Candidate Recommendation Snapshot status in May 2026. ويُستخدم هذا المرجع لتأطير القسم «بناء مسار القرار باستخدام redirect URI» من دون أن يحل محل الاختبار المحلي. [S6]

التحقق من open redirector بدليل قابل للملاحظة

التصميم القابل للتشغيل يوضح من يقرر، وما الدليل المتاح، وما الذي يمكن الرجوع عنه.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c71 من redirect URI ويعامل open redirector كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على RFC 9700 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ OAuth 2.0 بإحداث الأثر المقصود حول PKCE. إذا فشل تحقق OAuth 2.0 يعيد rollback الإعداد المرتبط بـ PKCE ثم يشغل rfc9700-oauth-ar-c71 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من redirect URI. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى open redirector وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار. وتبقى الخلاصة محكومة بحدود RFC 9700 و PKCE؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c71 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c72 من open redirector ويعامل RFC 9700 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على OAuth 2.0 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ PKCE بإحداث الأثر المقصود حول redirect URI. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل open redirector نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به. لاختبار RFC 9700 تتضمن fixture ‏rfc9700-oauth-ar-c72 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى OAuth 2.0. بعد ذلك يراقب التشغيل الانتقال بين OAuth 2.0 و PKCE، بينما يتحقق الأمن من أن redirect URI لا يحصل على صلاحية ضمنية أو بيانات زائدة.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c73 من RFC 9700 ويعامل OAuth 2.0 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على PKCE إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ redirect URI بإحداث الأثر المقصود حول open redirector. إذا فشل تحقق redirect URI يعيد rollback الإعداد المرتبط بـ open redirector ثم يشغل rfc9700-oauth-ar-c73 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من RFC 9700. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى OAuth 2.0 وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار. وتبقى الخلاصة محكومة بحدود PKCE و open redirector؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c73 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c74 من OAuth 2.0 ويعامل PKCE كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على redirect URI إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ open redirector بإحداث الأثر المقصود حول RFC 9700. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل OAuth 2.0 نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به. لاختبار PKCE تتضمن fixture ‏rfc9700-oauth-ar-c74 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى redirect URI. بعد ذلك يراقب التشغيل الانتقال بين redirect URI و open redirector، بينما يتحقق الأمن من أن RFC 9700 لا يحصل على صلاحية ضمنية أو بيانات زائدة.

نقطة دليل: توضح SLSA أن SLSA 1.2 organizes supply-chain assurances into tracks and levels with recommended attestation formats. ويُستخدم هذا المرجع لتأطير القسم «التحقق من open redirector بدليل قابل للملاحظة» من دون أن يحل محل الاختبار المحلي. [S7]

ضوابط تستمر بعد الإطلاق

تظهر الصعوبة الحقيقية عندما يلتقي المسار الطبيعي بالصلاحيات والأخطاء وقيود الإنتاج.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c81 من open redirector ويعامل RFC 9700 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على OAuth 2.0 إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ PKCE بإحداث الأثر المقصود حول redirect URI. بعد ذلك يراقب التشغيل الانتقال بين OAuth 2.0 و PKCE، بينما يتحقق الأمن من أن redirect URI لا يحصل على صلاحية ضمنية أو بيانات زائدة. إذا فشل تحقق PKCE يعيد rollback الإعداد المرتبط بـ redirect URI ثم يشغل rfc9700-oauth-ar-c81 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من open redirector. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى RFC 9700 وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c82 من RFC 9700 ويعامل OAuth 2.0 كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على PKCE إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ redirect URI بإحداث الأثر المقصود حول open redirector. وتبقى الخلاصة محكومة بحدود PKCE و open redirector؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c82 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل RFC 9700 نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به. لاختبار OAuth 2.0 تتضمن fixture ‏rfc9700-oauth-ar-c82 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى PKCE.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c83 من OAuth 2.0 ويعامل PKCE كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على redirect URI إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ open redirector بإحداث الأثر المقصود حول RFC 9700. بعد ذلك يراقب التشغيل الانتقال بين redirect URI و open redirector، بينما يتحقق الأمن من أن RFC 9700 لا يحصل على صلاحية ضمنية أو بيانات زائدة. إذا فشل تحقق open redirector يعيد rollback الإعداد المرتبط بـ RFC 9700 ثم يشغل rfc9700-oauth-ar-c83 ويقارن الحالة الجديدة بالدليل المرجعي الصادر من OAuth 2.0. هذه الدقة تجعل «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» قابلة للتدقيق لأن كل عبارة تشغيلية تشير إلى PKCE وشرط ملموس ودليل، لا إلى ضمان عام غير قابل للاختبار.

في «RFC 9700: تحديث أمان OAuth 2.0 في التطبيقات القديمة» يبدأ السيناريو rfc9700-oauth-ar-c84 من PKCE ويعامل redirect URI كحد صريح للثقة لا كافتراض ضمني. يفرض الضابط الأول على open redirector إنتاج نتيجة قابلة للملاحظة قبل أن يسمح لـ RFC 9700 بإحداث الأثر المقصود حول OAuth 2.0. وتبقى الخلاصة محكومة بحدود open redirector و OAuth 2.0؛ فما لا يثبته السيناريو rfc9700-oauth-ar-c84 يذكر كقيد أو استنتاج، ولا يقدم على أنه حقيقة مؤكدة. تخدم هذه السلسلة المهمة العملية التالية: مراجعة redirect URIs وPKCE وopen redirectors والممارسات القديمة ثم تحديث العميل وخادم التفويض. وهي تجعل PKCE نقطة قرار قابلة للمراجعة بمدخل مسمى ومخرج يمكن الاحتفاظ به. لاختبار redirect URI تتضمن fixture ‏rfc9700-oauth-ar-c84 حالة مسموحة وحالة مرفوضة، ويجب أن يقع الرفض قبل أي تغيير ينسب إلى open redirector.

نقطة دليل: توضح SLSA أن SLSA provenance is verifiable information linking a software artifact to how, when and from what it was produced. ويُستخدم هذا المرجع لتأطير القسم «ضوابط تستمر بعد الإطلاق» من دون أن يحل محل الاختبار المحلي. [S8]

قائمة تحقق تشغيلية

  • الضابط المتعلق بـ RFC 9700 يملك مدخلا وقاعدة وسلوك رفض ودليلا.
  • الضابط المتعلق بـ OAuth 2.0 يملك مدخلا وقاعدة وسلوك رفض ودليلا.
  • الضابط المتعلق بـ PKCE يملك مدخلا وقاعدة وسلوك رفض ودليلا.
  • الضابط المتعلق بـ redirect URI يملك مدخلا وقاعدة وسلوك رفض ودليلا.
  • الضابط المتعلق بـ open redirector يملك مدخلا وقاعدة وسلوك رفض ودليلا.

المصادر ونقاط التحكم

  1. [S1] PHP 8.5 Release Announcement — PHP 8.5 adds the URI extension, pipe operator, clone-with syntax and additional language/runtime improvements. source
  2. [S2] Authorization - Model Context Protocol — For HTTP authorization, MCP requires resource-bound tokens, server-side audience validation and PKCE, and forbids insecure token passthrough patterns. source
  3. [S3] RFC 9700: Best Current Practice for OAuth 2.0 Security — RFC 9700 updates OAuth 2.0 security practice, including exact redirect URI matching and avoiding open redirectors and insecure legacy patterns. source
  4. [S4] PostgreSQL 18 OAuth Authorization/Authentication — PostgreSQL 18 documents OAuth client authentication concepts and terminology for clients such as libpq and psql. source
  5. [S5] Content-Security-Policy: require-trusted-types-for directive — require-trusted-types-for can make DOM XSS sinks reject raw strings and accept trusted typed values instead. source
  6. [S6] Web Authentication Level 3 — WebAuthn Level 3 defines strong public-key credentials scoped to relying parties and reached Candidate Recommendation Snapshot status in May 2026. source
  7. [S7] SLSA specification v1.2 — SLSA 1.2 organizes supply-chain assurances into tracks and levels with recommended attestation formats. source
  8. [S8] SLSA Provenance — SLSA provenance is verifiable information linking a software artifact to how, when and from what it was produced. source
  9. [S9] SLSA Build Track Basics — SLSA build levels progress from no guarantees to provenance, hosted signed builds and hardened build platforms. source
  10. [S10] Build attestations - Docker Docs — Docker BuildKit can attach SBOM and provenance attestations so consumers can inspect image contents and build origin. source
Publicité