Ελέγξτε την εισαγωγή Authlib πριν επιλέξετε όρισμα διαμεσολαβητή. Οι ενσωματώσεις Requests και HTTPX εκθέτουν διαφορετική διαμόρφωση μεταφοράς.

Το OAuth2Session των Requests κληρονομεί τη συμπεριφορά Session των Requests:

from authlib.integrations.requests_client import OAuth2Session

client = OAuth2Session(client_id=client_id)
client.proxies.update({
    "http": "http://proxy.example.net:8080",
    "https": "http://proxy.example.net:8080",
})

Η αντίστοιχη ασύγχρονη ενσωμάτωση HTTPX λαμβάνει το όρισμα διαμεσολαβητή σε επίπεδο πελάτη κατά την κατασκευή:

from authlib.integrations.httpx_client import AsyncOAuth2Client

client = AsyncOAuth2Client(
    client_id=client_id,
    proxy="http://proxy.example.net:8080",
)

Το παράδειγμα HTTPX χρησιμοποιεί την ενική επιλογή proxy που υποστηρίζει το Authlib 1.9.1. Η ενσωμάτωση αυτή περνά τις αναγνωρισμένες επιλογές μεταφοράς στον υποκείμενο πελάτη HTTP. Ένα λεξικό proxies σε στυλ Requests δεν είναι ανταλλάξιμο όρισμα κατασκευαστή. Για δημόσια τελικά σημεία token και API σε επιτρεπόμενη δημόσια διαδρομή διαμεσολαβητή, η λίστα διαμεσολαβητών HTTP παρέχει υποψηφίους για τις διευθύνσεις URL διαμεσολαβητή HTTP και των δύο παραδειγμάτων.

Διατηρήστε την υπάρχουσα καταχώριση OAuth της εφαρμογής, το redirect URI, τα scopes και τη διαχείριση token κατά την εφαρμογή οποιασδήποτε από τις δύο διαμορφώσεις. Χρησιμοποιήστε τον διαμορφωμένο πελάτη για τις εργασίες token και προστατευμένων πόρων και κλείστε τον μέσω του συνήθους σύγχρονου ή ασύγχρονου κύκλου ζωής του.

Οι βοηθοί του πλαισίου μπορούν να δημιουργούν αυτούς τους πελάτες για λογαριασμό της εφαρμογής. Εξετάστε την ενσωμάτωση του βοηθού και τις επιλογές κατασκευής πελάτη πριν περάσετε ορίσματα κατά τον χρόνο αιτήματος. Μια λέξη-κλειδί proxies που δέχεται ένα αίτημα token των Requests δεν αποδεικνύει ότι τη δέχεται και ένα ασύγχρονο αίτημα HTTPX.

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