requests-oauthlib: fetch_token-ന് മുമ്പ് OAuth2Session-ന്റെ പ്രോക്സി സജ്ജമാക്കുക
ടോക്കൺ നേടുന്നതിനും സംരക്ഷിത വിഭവങ്ങൾക്കും അതേ പ്രോക്സി-ബോധമുള്ള സെഷൻ ഉപയോഗിക്കുക, നിലവിലുള്ള 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 Requests-ന്റെ Session വിപുലീകരിക്കുന്നു. ആപ്പിന്റെ നിലവിലുള്ള client registration, redirect URI, state, scopes എന്നിവ ഉപയോഗിച്ച് ഇത് നിർമ്മിക്കുക, തുടർന്ന് ടോക്കൺ കൈമാറ്റത്തിന് മുമ്പ് അതിന്റെ റൂട്ട് സജ്ജമാക്കുക. പൊതു HTTP റൂട്ടിന് HTTP പ്രോക്സി പട്ടികയിൽ നിന്നുള്ള ഒരു സ്ഥാനാർത്ഥി ഈ സെഷന്റെ പ്രോക്സി മാപ്പിൽ വിലാസം നൽകുന്നു.
ഈ സെഷനിൽ fetch_token ഉം സംരക്ഷിത-വിഭവ പ്രവർത്തനങ്ങളും വിളിക്കുക. proxies ആർഗ്യുമെന്റ് fetch_token-ന് മാത്രം നൽകുമ്പോൾ ആ കൈമാറ്റത്തിന് മാത്രം ബാധകമാണ്; അത് പിന്നീടുള്ള വിളികൾക്ക് സ്ഥിരമായ റൂട്ട് ഇൻസ്റ്റാൾ ചെയ്യുന്നില്ല.
ബ്രൗസറിലെ അംഗീകരണ പേജ് സന്ദർശനം ബ്രൗസറിന്റെ റൂട്ട് ഉപയോഗിക്കുന്നു. Python ടോക്കൺ അഭ്യർത്ഥന വെവ്വേറെ നടത്തുന്നു, അതിനാൽ ബ്രൗസറിലെ വിജയം ഈ സെഷൻ കോൺഫിഗർ ചെയ്യുന്നില്ല.
Requests-ന്റെ പരിസ്ഥിതി സംയോജനം സെഷൻ പ്രോക്സി തിരഞ്ഞെടുപ്പിനെ സ്വാധീനിച്ചേക്കാം. ആപ്പ് ഉടമസ്ഥതയിലുള്ള കർശനമായ റൂട്ടിന് trust_env പരിശോധിക്കുക; അത് പ്രവർത്തനരഹിതമാക്കാൻ ആവശ്യമായ CA അല്ലെങ്കിൽ പ്രാമാണീകരണ ക്രമീകരണങ്ങൾ വ്യക്തമായി നൽകണം.
ടോക്കൺ endpoint തിരികെ നൽകുന്ന OAuth പിശക് പ്രവർത്തിക്കുന്ന പ്രോക്സിയിലൂടെ വന്നേക്കാം. ആ പ്രതികരണം പ്രോക്സി പ്രാമാണീകരണത്തിൽ നിന്ന് വേറിട്ട് സൂക്ഷിക്കുക; അതിന്റെ ക്രെഡൻഷ്യലുകൾ client secret, access token എന്നിവയിൽ നിന്ന് വ്യത്യസ്തമാണ്.