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 აფართოებს Requests-ის Session-ს. შექმენით ის აპლიკაციის არსებული client registration-ით, redirect URI-ით, state-ით და scopes-ით, შემდეგ კი დააყენეთ მისი მარშრუტი ტოკენის გაცვლამდე. საჯარო HTTP მარშრუტისთვის HTTP proxy სიიდან კანდიდატი ამ სესიის proxy რუკაში მოგვაწოდებს მისამართს.

გამოიძახეთ fetch_token და დაცული რესურსების ოპერაციები ამ სესიაზე. proxies არგუმენტი, რომელიც მხოლოდ fetch_token-ს გადაეცემა, მოქმედებს მხოლოდ ამ გაცვლისთვის; ის არ ამონტაჟებს მუდმივ მარშრუტს შემდგომი გამოძახებებისთვის.

ბრაუზერში ავტორიზაციის გვერდის ვიზიტი იყენებს ბრაუზერის მარშრუტს. Python ტოკენის მოთხოვნას ცალკე ასრულებს, ამიტომ ბრაუზერში წარმატება ამ სესიას არ აკონფიგურირებს.

Requests-ის გარემოსთან ინტეგრაცია შეიძლება გავლენა იქონიოს სესიის proxy-ს არჩევანზე. აპლიკაციის საკუთრებაში არსებული მკაცრი მარშრუტისთვის გადახედეთ trust_env-ს; მისი გამორთვა ასევე მოითხოვს საჭირო CA ან ავთენტიფიკაციის პარამეტრების ცხადად მიწოდებას.

ტოკენის endpoint-ის მიერ დაბრუნებული OAuth შეცდომა შეიძლება მოვიდეს მომუშავე proxy-ს მეშვეობით. შეინახეთ ეს პასუხი proxy-ს ავთენტიფიკაციისგან ცალკე, რომლის მონაცემები განსხვავდება client secret-ისა და access token-ისგან.

დაკავშირებული სტატიები