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나 인증 설정도 명시적으로 제공해야 합니다.
토큰 엔드포인트가 반환한 OAuth 오류는 정상 동작하는 프록시를 통해 도착할 수 있습니다. 그 응답은 프록시 인증과 별도로 보관하세요. 프록시 자격 증명은 클라이언트 시크릿 및 액세스 토큰과 다릅니다.