|
1 | | -from _typeshed import Incomplete |
2 | | -from typing import Any |
| 1 | +from _typeshed import ConvertibleToInt, Incomplete |
| 2 | +from collections.abc import Callable |
| 3 | +from typing import Final, Literal |
| 4 | +from typing_extensions import TypeAlias |
3 | 5 |
|
4 | | -AUTH_HEADER: str |
5 | | -URI_QUERY: str |
6 | | -BODY: str |
7 | | -FORM_ENC_HEADERS: Any |
| 6 | +from oauthlib.common import _HTTPMethod |
| 7 | +from oauthlib.oauth2.rfc6749.tokens import OAuth2Token |
| 8 | + |
| 9 | +_TokenPlacement: TypeAlias = Literal["auth_header", "query", "body"] |
| 10 | + |
| 11 | +AUTH_HEADER: Final[_TokenPlacement] |
| 12 | +URI_QUERY: Final[_TokenPlacement] |
| 13 | +BODY: Final[_TokenPlacement] |
| 14 | +FORM_ENC_HEADERS: Final[dict[str, str]] |
8 | 15 |
|
9 | 16 | class Client: |
10 | 17 | refresh_token_key: str |
11 | | - client_id: Any |
12 | | - default_token_placement: Any |
13 | | - token_type: Any |
14 | | - access_token: Any |
15 | | - refresh_token: Any |
16 | | - mac_key: Any |
17 | | - mac_algorithm: Any |
18 | | - token: Any |
19 | | - scope: Any |
20 | | - state_generator: Any |
21 | | - state: Any |
22 | | - redirect_url: Any |
23 | | - code: Any |
24 | | - expires_in: Any |
25 | | - code_verifier: str |
26 | | - code_challenge: str |
27 | | - code_challenge_method: str |
| 18 | + client_id: str |
| 19 | + default_token_placement: _TokenPlacement |
| 20 | + token_type: str |
| 21 | + access_token: str | None |
| 22 | + refresh_token: str | None |
| 23 | + mac_key: str | bytes | bytearray | None |
| 24 | + mac_algorithm: str | None |
| 25 | + token: dict[str, Incomplete] |
| 26 | + scope: str | set[object] | tuple[object] | list[object] |
| 27 | + state_generator: Callable[[], str] |
| 28 | + state: str | None |
| 29 | + redirect_url: str | None |
| 30 | + code: Incomplete |
| 31 | + expires_in: ConvertibleToInt | None |
| 32 | + code_verifier: str | None |
| 33 | + code_challenge: str | None |
| 34 | + code_challenge_method: str | None |
28 | 35 | def __init__( |
29 | 36 | self, |
30 | | - client_id, |
31 | | - default_token_placement="auth_header", |
| 37 | + client_id: str, |
| 38 | + default_token_placement: _TokenPlacement = "auth_header", |
32 | 39 | token_type: str = "Bearer", |
33 | | - access_token: Incomplete | None = None, |
34 | | - refresh_token: Incomplete | None = None, |
35 | | - mac_key: Incomplete | None = None, |
36 | | - mac_algorithm: Incomplete | None = None, |
37 | | - token: Incomplete | None = None, |
38 | | - scope: Incomplete | None = None, |
39 | | - state: Incomplete | None = None, |
40 | | - redirect_url: Incomplete | None = None, |
41 | | - state_generator=..., |
| 40 | + access_token: str | None = None, |
| 41 | + refresh_token: str | None = None, |
| 42 | + mac_key: str | bytes | bytearray | None = None, |
| 43 | + mac_algorithm: str | None = None, |
| 44 | + token: dict[str, Incomplete] | None = None, |
| 45 | + scope: str | set[object] | tuple[object] | list[object] | None = None, |
| 46 | + state: str | None = None, |
| 47 | + redirect_url: str | None = None, |
| 48 | + state_generator: Callable[[], str] = ..., |
42 | 49 | code_verifier: str | None = None, |
43 | 50 | code_challenge: str | None = None, |
44 | 51 | code_challenge_method: str | None = None, |
45 | 52 | **kwargs, |
46 | 53 | ) -> None: ... |
47 | 54 | @property |
48 | | - def token_types(self): ... |
| 55 | + def token_types( |
| 56 | + self, |
| 57 | + ) -> dict[ |
| 58 | + Literal["Bearer", "MAC"], |
| 59 | + Callable[ |
| 60 | + [str, str, str | None, dict[str, str] | None, str | None, Incomplete], tuple[str, dict[str, str] | None, str | None] |
| 61 | + ], |
| 62 | + ]: ... |
49 | 63 | def prepare_request_uri(self, *args, **kwargs) -> str: ... |
50 | 64 | def prepare_request_body(self, *args, **kwargs) -> str: ... |
51 | 65 | def parse_request_uri_response(self, *args, **kwargs) -> dict[str, str]: ... |
52 | 66 | def add_token( |
53 | 67 | self, |
54 | | - uri, |
55 | | - http_method: str = "GET", |
56 | | - body: Incomplete | None = None, |
57 | | - headers: Incomplete | None = None, |
58 | | - token_placement: Incomplete | None = None, |
| 68 | + uri: str, |
| 69 | + http_method: _HTTPMethod = "GET", |
| 70 | + body: str | None = None, |
| 71 | + headers: dict[str, str] | None = None, |
| 72 | + token_placement: _TokenPlacement | None = None, |
59 | 73 | **kwargs, |
60 | | - ): ... |
| 74 | + ) -> tuple[str, dict[str, str] | None, str | None]: ... |
61 | 75 | def prepare_authorization_request( |
62 | 76 | self, |
63 | | - authorization_url, |
64 | | - state: Incomplete | None = None, |
65 | | - redirect_url: Incomplete | None = None, |
66 | | - scope: Incomplete | None = None, |
| 77 | + authorization_url: str, |
| 78 | + state: str | None = None, |
| 79 | + redirect_url: str | None = None, |
| 80 | + scope: str | set[object] | tuple[object] | list[object] | None = None, |
67 | 81 | **kwargs, |
68 | | - ): ... |
| 82 | + ) -> tuple[str, dict[str, str], str]: ... |
69 | 83 | def prepare_token_request( |
70 | 84 | self, |
71 | | - token_url, |
72 | | - authorization_response: Incomplete | None = None, |
73 | | - redirect_url: Incomplete | None = None, |
74 | | - state: Incomplete | None = None, |
| 85 | + token_url: str, |
| 86 | + authorization_response: str | None = None, |
| 87 | + redirect_url: str | None = None, |
| 88 | + state: str | None = None, |
75 | 89 | body: str = "", |
76 | 90 | **kwargs, |
77 | | - ): ... |
| 91 | + ) -> tuple[str, dict[str, str], str]: ... |
78 | 92 | def prepare_refresh_token_request( |
79 | | - self, token_url, refresh_token: Incomplete | None = None, body: str = "", scope: Incomplete | None = None, **kwargs |
80 | | - ): ... |
| 93 | + self, |
| 94 | + token_url: str, |
| 95 | + refresh_token: str | None = None, |
| 96 | + body: str = "", |
| 97 | + scope: str | set[object] | tuple[object] | list[object] | None = None, |
| 98 | + **kwargs, |
| 99 | + ) -> tuple[str, dict[str, str], str]: ... |
81 | 100 | def prepare_token_revocation_request( |
82 | 101 | self, |
83 | 102 | revocation_url, |
84 | 103 | token, |
85 | | - token_type_hint: str = "access_token", |
| 104 | + token_type_hint: Literal["access_token", "refresh_token"] | None = "access_token", |
86 | 105 | body: str = "", |
87 | | - callback: Incomplete | None = None, |
| 106 | + callback: Callable[[Incomplete], Incomplete] | None = None, |
88 | 107 | **kwargs, |
89 | 108 | ): ... |
90 | | - def parse_request_body_response(self, body, scope: Incomplete | None = None, **kwargs): ... |
| 109 | + def parse_request_body_response( |
| 110 | + self, body: str, scope: str | set[object] | tuple[object] | list[object] | None = None, **kwargs |
| 111 | + ) -> OAuth2Token: ... |
91 | 112 | def prepare_refresh_body( |
92 | | - self, body: str = "", refresh_token: Incomplete | None = None, scope: Incomplete | None = None, **kwargs |
93 | | - ): ... |
| 113 | + self, |
| 114 | + body: str = "", |
| 115 | + refresh_token: str | None = None, |
| 116 | + scope: str | set[object] | tuple[object] | list[object] | None = None, |
| 117 | + **kwargs, |
| 118 | + ) -> str: ... |
94 | 119 | def create_code_verifier(self, length: int) -> str: ... |
95 | 120 | def create_code_challenge(self, code_verifier: str, code_challenge_method: str | None = None) -> str: ... |
96 | | - def populate_code_attributes(self, response) -> None: ... |
97 | | - def populate_token_attributes(self, response) -> None: ... |
| 121 | + def populate_code_attributes(self, response: dict[str, Incomplete]) -> None: ... |
| 122 | + def populate_token_attributes(self, response: dict[str, Incomplete]) -> None: ... |
0 commit comments