Μια επέκταση προγράμματος περιήγησης μπορεί να συναντήσει προκλήσεις ελέγχου ταυτότητας από δύο διαφορετικά σημεία: τον διακομιστή μεσολάβησης που μεταφέρει το αίτημα και τον ιστότοπο προορισμού. Δεν πρέπει να λαμβάνουν αυτόματα τον ίδιο λογαριασμό.

Ο χρήσιμος διαχωριστής στο συμβάν webRequest.onAuthRequired του Chrome είναι το isProxy. Μια επιστροφή κλήσης που αφαιρεί αυτόν τον έλεγχο μόνο για να εξαφανιστεί μια προτροπή μπορεί να αρχίσει να παρέχει διαπιστευτήρια διακομιστή μεσολάβησης σε πρόκληση προέλευσης.

Αντιστοιχίστε τον διακομιστή μεσολάβησης που σκοπεύετε να εμπιστευτείτε

Ο έλεγχος του isProxy είναι μια αρχή. Περιορίστε επίσης τον χειρισμό στον αναμενόμενο προκλητή διακομιστή μεσολάβησης και στο πλαίσιο του αιτήματος. Μια επέκταση που διαχειρίζεται πολλά τελικά σημεία πρέπει να επιλέγει τον λογαριασμό που ανήκει σε αυτό το τελικό σημείο, όχι έναν ενιαίο καθολικό κωδικό πρόσβασης για κάθε πρόκληση.

Μην υποθέτετε ότι η ρύθμιση της διαδρομής του διακομιστή μεσολάβησης και ο χειρισμός της σύνδεσής του είναι μία άδεια ή μία κλήση API. Το Chrome τα τεκμηριώνει ξεχωριστά. Χρησιμοποιήστε την τρέχουσα αναφορά webRequest για τα δεδομένα συμβάντων και τις άδειες ελέγχου ταυτότητας. Ένα παράδειγμα καταχώρισης ακροατή Manifest V3 δείχνει σύγχρονη καταχώριση και επιλογή λογαριασμού μέσα στην επιστροφή κλήσης.

Ελέγξτε τη γενιά του manifest

Παραδείγματα που αναφέρουν πειραματικό API WebRequest προέρχονται από παλιές εκδόσεις επεκτάσεων. Οι τρέχουσες απαιτήσεις αδειών εξαρτώνται από τη γενιά manifest της επέκτασης και το μοντέλο ανάπτυξης. Ειδικότερα, ο χειρισμός ελέγχου ταυτότητας έχει τη δική του υποστηριζόμενη διαδρομή αδειών· ένα παρωχημένο παράδειγμα ακροατή αποκλεισμού δεν αρκεί για να αποδείξει ότι μια επέκταση Manifest V3 μπορεί να το εκτελέσει αμετάβλητο.

Ένας σωστός χειριστής πρέπει επίσης να αποφεύγει την ατελείωτη επανάληψη των ίδιων απορριφθέντων διαπιστευτηρίων. Αντιμετωπίστε μια δεύτερη πρόκληση μετά την παροχή λογαριασμού ως στοιχείο προς διερεύνηση, όχι ως αίτημα να αναπαράγεται το συνθηματικό για πάντα.

Τα διαπιστευτήρια πρέπει να παραμένουν στην κατάλληλη προστατευμένη διαδρομή χειρισμού της επέκτασης. Μην τα δημοσιεύετε σε αρχείο PAC και μην τα ενσωματώνετε σε διανεμόμενο δείγμα. Ο στόχος είναι μια στενά περιορισμένη σύνδεση μέσω διακομιστή μεσολάβησης, όχι ένας κανόνας σε όλο το πρόγραμμα περιήγησης που απαντά σε κάθε πρόκληση ελέγχου ταυτότητας με το ίδιο μυστικό.

Σχετικά άρθρα