في جلسة CDP المعنية، سجّل المعالجات قبل التنقل، ثم استدعِ Fetch.enable بهذه المعاملات:

{"handleAuthRequests": true}
الحدثمسار الاستجابة المطلوب
Fetch.requestPausedcontinueRequest مع requestId نفسه عندما يجب أن يستمر العمل العادي
Fetch.authRequiredافحص authChallenge ثم استخدم continueWithAuth مع requestId الخاص بحدث المصادقة

بالنسبة للوسيط المعروف، تكون معاملات المصادقة:

{
  "requestId": "REQUEST_ID_FROM_AUTH_EVENT",
  "authChallengeResponse": {
    "response": "ProvideCredentials",
    "username": "PROXY_USERNAME",
    "password": "PROXY_PASSWORD"
  }
}

تحقّق من أن authChallenge.source هو Proxy وأن أصله هو المتحدّي المقصود قبل تحميل الحساب من مصدر بيانات الاعتماد. تحدّي Server يتبع سياسة مصادقة أخرى.

تتبّع المحاولات المسموح بها لكل طلب معترض؛ التحدّي المرفوض المتكرر يجب أن يتلقى CancelAuth، لا إرسالًا لا نهائيًا آخر. امسح التتبّع عند الاكتمال أو إغلاق الجلسة.

إذا علقت الصفحة، افحص أيضًا أحداث requestPaused غير المحلولة. معالجة المصادقة لا تكملها تلقائيًا، ولا يختار أي من مساري الحدث مسار الوكيل في المتصفح.

مقالات ذات صلة