Skip to content

oauth2_auth

OAuth2

Bases: AuthBase

Adds proof of authorization (OAuth2 token) to the request.

Source code in server/vendor/requests_oauthlib/oauth2_auth.py
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
class OAuth2(AuthBase):
    """Adds proof of authorization (OAuth2 token) to the request."""

    def __init__(self, client_id=None, client=None, token=None):
        """Construct a new OAuth 2 authorization object.

        :param client_id: Client id obtained during registration
        :param client: :class:`oauthlib.oauth2.Client` to be used. Default is
                       WebApplicationClient which is useful for any
                       hosted application but not mobile or desktop.
        :param token: Token dictionary, must include access_token
                      and token_type.
        """
        self._client = client or WebApplicationClient(client_id, token=token)
        if token:
            for k, v in token.items():
                setattr(self._client, k, v)

    def __call__(self, r):
        """Append an OAuth 2 token to the request.

        Note that currently HTTPS is required for all requests. There may be
        a token type that allows for plain HTTP in the future and then this
        should be updated to allow plain HTTP on a white list basis.
        """
        if not is_secure_transport(r.url):
            raise InsecureTransportError()
        r.url, r.headers, r.body = self._client.add_token(
            r.url, http_method=r.method, body=r.body, headers=r.headers
        )
        return r

__call__(r)

Append an OAuth 2 token to the request.

Note that currently HTTPS is required for all requests. There may be a token type that allows for plain HTTP in the future and then this should be updated to allow plain HTTP on a white list basis.

Source code in server/vendor/requests_oauthlib/oauth2_auth.py
24
25
26
27
28
29
30
31
32
33
34
35
36
def __call__(self, r):
    """Append an OAuth 2 token to the request.

    Note that currently HTTPS is required for all requests. There may be
    a token type that allows for plain HTTP in the future and then this
    should be updated to allow plain HTTP on a white list basis.
    """
    if not is_secure_transport(r.url):
        raise InsecureTransportError()
    r.url, r.headers, r.body = self._client.add_token(
        r.url, http_method=r.method, body=r.body, headers=r.headers
    )
    return r

__init__(client_id=None, client=None, token=None)

Construct a new OAuth 2 authorization object.

:param client_id: Client id obtained during registration :param client: :class:oauthlib.oauth2.Client to be used. Default is WebApplicationClient which is useful for any hosted application but not mobile or desktop. :param token: Token dictionary, must include access_token and token_type.

Source code in server/vendor/requests_oauthlib/oauth2_auth.py
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
def __init__(self, client_id=None, client=None, token=None):
    """Construct a new OAuth 2 authorization object.

    :param client_id: Client id obtained during registration
    :param client: :class:`oauthlib.oauth2.Client` to be used. Default is
                   WebApplicationClient which is useful for any
                   hosted application but not mobile or desktop.
    :param token: Token dictionary, must include access_token
                  and token_type.
    """
    self._client = client or WebApplicationClient(client_id, token=token)
    if token:
        for k, v in token.items():
            setattr(self._client, k, v)