Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
oauth2_auth.py37 linesDownload Raw Back to requests_oauthlib
1from oauthlib.oauth2 import WebApplicationClient, InsecureTransportError2from oauthlib.oauth2 import is_secure_transport3from requests.auth import AuthBase4 5 6class OAuth2(AuthBase):7    """Adds proof of authorization (OAuth2 token) to the request."""8 9    def __init__(self, client_id=None, client=None, token=None):10        """Construct a new OAuth 2 authorization object.11 12        :param client_id: Client id obtained during registration13        :param client: :class:`oauthlib.oauth2.Client` to be used. Default is14                       WebApplicationClient which is useful for any15                       hosted application but not mobile or desktop.16        :param token: Token dictionary, must include access_token17                      and token_type.18        """19        self._client = client or WebApplicationClient(client_id, token=token)20        if token:21            for k, v in token.items():22                setattr(self._client, k, v)23 24    def __call__(self, r):25        """Append an OAuth 2 token to the request.26 27        Note that currently HTTPS is required for all requests. There may be28        a token type that allows for plain HTTP in the future and then this29        should be updated to allow plain HTTP on a white list basis.30        """31        if not is_secure_transport(r.url):32            raise InsecureTransportError()33        r.url, r.headers, r.body = self._client.add_token(34            r.url, http_method=r.method, body=r.body, headers=r.headers35        )36        return r37 
codekingpro/portable-devtools · Team Ai