requests-oauthlib: ορίστε το proxy του OAuth2Session πριν από το fetch_token
Χρησιμοποιήστε την ίδια συνεδρία που γνωρίζει το proxy για τη λήψη token και τους προστατευμένους πόρους, διατηρώντας ανέπαφη την υπάρχουσα ροή OAuth.
from requests_oauthlib import OAuth2Session
session = OAuth2Session(client_id=client_id, redirect_uri=redirect_uri)
session.proxies.update({
'http': 'http://proxy.example:8080',
'https': 'http://proxy.example:8080',
})OAuth2Session επεκτείνει το Session του Requests. Κατασκευάστε το με την υπάρχουσα εγγραφή πελάτη της εφαρμογής, το redirect URI, το state και τα scopes, και στη συνέχεια ορίστε τη διαδρομή του πριν από την ανταλλαγή token. Για δημόσια διαδρομή HTTP, ένας υποψήφιος από τη λίστα proxy HTTP παρέχει τη διεύθυνση στον χάρτη proxy αυτής της συνεδρίας.
Καλέστε το fetch_token και τις λειτουργίες προστατευμένων πόρων σε αυτή τη συνεδρία. Ένα όρισμα proxies που περνά μόνο στο fetch_token ισχύει για εκείνη την ανταλλαγή· δεν εγκαθιστά μόνιμη διαδρομή για μεταγενέστερες κλήσεις.
Η επίσκεψη στη σελίδα εξουσιοδότησης του προγράμματος περιήγησης χρησιμοποιεί τη διαδρομή του προγράμματος περιήγησης. Η Python εκτελεί το αίτημα token ξεχωριστά, οπότε η επιτυχία στο πρόγραμμα περιήγησης δεν ρυθμίζει αυτή τη συνεδρία.
Η ενσωμάτωση του Requests με το περιβάλλον μπορεί να επηρεάσει την επιλογή proxy της συνεδρίας. Για αυστηρή διαδρομή που ανήκει στην εφαρμογή, ελέγξτε το trust_env· η απενεργοποίησή του απαιτεί επίσης ρητή παροχή τυχόν απαιτούμενων ρυθμίσεων CA ή ελέγχου ταυτότητας.
Ένα σφάλμα OAuth που επιστρέφει ένα token endpoint μπορεί να φτάσει μέσω λειτουργικού proxy. Διατηρήστε αυτή την απόκριση χωριστά από τον έλεγχο ταυτότητας του proxy, τα διαπιστευτήρια του οποίου διαφέρουν από τα client secrets και τα access tokens.