Chrome onAuthRequired: क्रेडेन्शियल पाठवण्यापूर्वी isProxy तपासा
Chrome चा प्रमाणीकरण कॉलबॅक प्रॉक्सी आव्हान किंवा ओरिजिन आव्हान वर्णन करू शकतो. दोन्हींना समान क्रेडेन्शियल देणे ही क्रेडेन्शियल-स्कोप चूक आहे.
ब्राउझर एक्स्टेंशनला दोन वेगवेगळ्या ठिकाणांहून प्रमाणीकरण आव्हाने येऊ शकतात: विनंती वाहून नेणारा प्रॉक्सी आणि लक्ष्य वेबसाइट. त्यांना स्वयंचलितपणे एकच खाते मिळू नये.
Chrome च्या webRequest.onAuthRequired इव्हेंटमधील उपयुक्त भेदक isProxy आहे. केवळ प्रॉम्प्ट अदृश्य व्हावा म्हणून ती तपासणी काढून टाकणारा कॉलबॅक ओरिजिन आव्हानाला प्रॉक्सीची क्रेडेन्शियल देऊ लागू शकतो.
ज्या प्रॉक्सीवर विश्वास ठेवायचा आहे त्याच्याशी जुळवा
isProxy तपासणे ही सुरुवात आहे. अपेक्षित प्रॉक्सी आव्हानकर्ता आणि विनंतीच्या संदर्भापर्यंत हाताळणी मर्यादित करा. अनेक एंडपॉइंट व्यवस्थापित करणाऱ्या एक्स्टेंशने प्रत्येक आव्हानासाठी एक जागतिक पासवर्ड नाही, तर त्या एंडपॉइंटचे खाते निवडले पाहिजे.
प्रॉक्सी मार्ग सेट करणे आणि त्याचे लॉगिन हाताळणे ही एकच परवानगी किंवा एकच API कॉल आहे असे गृहीत धरू नका. Chrome त्यांची स्वतंत्रपणे नोंद करते. इव्हेंट डेटा आणि प्रमाणीकरण परवानग्यांसाठी सध्याचा webRequest संदर्भ वापरा. Manifest V3 श्रोता नोंदणीचे उदाहरण कॉलबॅकमधील समकालिक नोंदणी आणि खाते निवड दर्शवते.
मॅनिफेस्ट पिढी तपासा
प्रायोगिक WebRequest API चा उल्लेख करणारी उदाहरणे जुन्या एक्स्टेंशन आवृत्त्यांमधून येतात. सध्याच्या परवानगी आवश्यकता एक्स्टेंशनच्या मॅनिफेस्ट पिढीवर आणि डिप्लॉयमेंट मॉडेलवर अवलंबून असतात. विशेषतः, प्रमाणीकरण हाताळणीचा स्वतःचा समर्थित परवानगी मार्ग आहे; जुने ब्लॉकिंग श्रोता उदाहरण Manifest V3 एक्स्टेंशन ते जसेच्या तसे चालवू शकते हे सिद्ध करण्यासाठी पुरेसे नाही.
योग्य हँडलरने नाकारलेली तीच क्रेडेन्शियल अमर्यादपणे पुन्हा प्रयत्न करणे टाळले पाहिजे. खाते दिल्यानंतर येणाऱ्या दुसऱ्या आव्हानाला पासवर्ड कायम पुन्हा प्ले करण्याची विनंती नाही, तर तपासणीसाठी पुरावा माना.
क्रेडेन्शियल एक्स्टेंशनच्या योग्य संरक्षित हाताळणी मार्गातच राहिली पाहिजेत. ती PAC फाइलमध्ये प्रकाशित करू नका किंवा वितरित नमुन्यात हार्डकोड करू नका. ध्येय संकुचित व्याप्तीचे प्रॉक्सी लॉगिन आहे, प्रत्येक प्रमाणीकरण आव्हानाला एकाच रहस्याने उत्तर देणारा ब्राउझर-व्यापी नियम नाही.