Skip to content

Auth Routes

Everything concerning bungie.net oauth2 authentication.

AuthHttpRequests

Source code in src/bungio/http/auth.py
 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
class AuthHttpRequests:
    _request: Callable[..., Coroutine]
    _bungie_auth_headers: dict[str, str]

    async def request_access_token(
        self,
        code: str,
    ) -> dict:
        """
        Authorise with bungie.net by requesting an access token using the code they generated.

        View [the official documentation](https://github.com/Bungie-net/api/wiki/OAuth-Documentation) for more information on how to set this up.

        Args:
            code: The code bungie sent.

        Returns:
            The json response
        """

        data = {
            "grant_type": "authorization_code",
            "code": code,
        }

        return await self._request(
            route="https://www.bungie.net/Platform/App/OAuth/token/",
            method="POST",
            form_data=data,
            headers=self._bungie_auth_headers,
            use_ratelimiter=False,
        )

    async def refresh_access_token(
        self,
        auth: AuthData,
    ) -> dict:
        """
        Refresh a bungie.net token.

        Args:
            auth: The old authentication information.

        Returns:
            The json response
        """

        data = {
            "grant_type": "refresh_token",
            "refresh_token": auth.refresh_token,
        }

        return await self._request(
            route="https://www.bungie.net/Platform/App/OAuth/token/",
            method="POST",
            form_data=data,
            headers=self._bungie_auth_headers,
            use_ratelimiter=False,
        )

refresh_access_token(auth) async

Refresh a bungie.net token.

Parameters:

Name Type Description Default
auth AuthData

The old authentication information.

required

Returns:

Type Description
dict

The json response

Source code in src/bungio/http/auth.py
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
async def refresh_access_token(
    self,
    auth: AuthData,
) -> dict:
    """
    Refresh a bungie.net token.

    Args:
        auth: The old authentication information.

    Returns:
        The json response
    """

    data = {
        "grant_type": "refresh_token",
        "refresh_token": auth.refresh_token,
    }

    return await self._request(
        route="https://www.bungie.net/Platform/App/OAuth/token/",
        method="POST",
        form_data=data,
        headers=self._bungie_auth_headers,
        use_ratelimiter=False,
    )

request_access_token(code) async

Authorise with bungie.net by requesting an access token using the code they generated.

View the official documentation for more information on how to set this up.

Parameters:

Name Type Description Default
code str

The code bungie sent.

required

Returns:

Type Description
dict

The json response

Source code in src/bungio/http/auth.py
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
37
38
39
async def request_access_token(
    self,
    code: str,
) -> dict:
    """
    Authorise with bungie.net by requesting an access token using the code they generated.

    View [the official documentation](https://github.com/Bungie-net/api/wiki/OAuth-Documentation) for more information on how to set this up.

    Args:
        code: The code bungie sent.

    Returns:
        The json response
    """

    data = {
        "grant_type": "authorization_code",
        "code": code,
    }

    return await self._request(
        route="https://www.bungie.net/Platform/App/OAuth/token/",
        method="POST",
        form_data=data,
        headers=self._bungie_auth_headers,
        use_ratelimiter=False,
    )