Skip to content

Commit ef0ee20

Browse files
authored
Update authlib to 1.5.* (#13540)
1 parent dfea9a6 commit ef0ee20

File tree

15 files changed

+69
-35
lines changed

15 files changed

+69
-35
lines changed

stubs/Authlib/@tests/stubtest_allowlist.txt

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# TODO: check these entries
12
authlib.jose.ECKey.PRIVATE_KEY_CLS
23
authlib.jose.ECKey.PUBLIC_KEY_CLS
34
authlib.jose.RSAKey.PRIVATE_KEY_CLS
@@ -29,8 +30,4 @@ authlib.oauth2.rfc7521.AssertionClient.oauth_error_class
2930
authlib.oauth2.rfc7521.client.AssertionClient.oauth_error_class
3031
authlib.oauth2.rfc7523.JWTBearerTokenValidator.token_cls
3132
authlib.oauth2.rfc7523.validator.JWTBearerTokenValidator.token_cls
32-
authlib.oauth2.rfc7591.ClientRegistrationEndpoint.claims_class
33-
authlib.oauth2.rfc7591.endpoint.ClientRegistrationEndpoint.claims_class
34-
authlib.oauth2.rfc7592.ClientConfigurationEndpoint.claims_class
35-
authlib.oauth2.rfc7592.endpoint.ClientConfigurationEndpoint.claims_class
3633
authlib.oauth2.rfc9068.claims.JWTAccessTokenClaims.validate

stubs/Authlib/METADATA.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version = "1.4.*"
1+
version = "1.5.0"
22
upstream_repository = "https://github.com/lepture/authlib"
33
requires = ["cryptography"]
44
partial_stub = true

stubs/Authlib/authlib/consts.pyi

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import Final
22

3-
name: Final[str]
3+
name: Final = "Authlib"
44
version: Final[str]
55
author: Final[str]
66
homepage: Final[str]

stubs/Authlib/authlib/jose/rfc7519/claims.pyi

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
from _typeshed import Incomplete
2+
from typing import Any, ClassVar
23

3-
class BaseClaims(dict[str, object]):
4-
REGISTERED_CLAIMS: list[str]
4+
class BaseClaims(dict[str, Any]): # dict values are key-dependent
5+
REGISTERED_CLAIMS: ClassVar[list[str]]
56
header: Incomplete
67
options: Incomplete
78
params: Incomplete
89
def __init__(self, payload, header, options: Incomplete | None = None, params: Incomplete | None = None) -> None: ...
9-
def __getattr__(self, key): ...
10-
def get_registered_claims(self): ...
10+
# TODO: Adds an attribute for each key in REGISTERED_CLAIMS
11+
def __getattr__(self, key: str): ...
12+
def get_registered_claims(self) -> dict[str, Incomplete]: ...
1113

1214
class JWTClaims(BaseClaims):
13-
REGISTERED_CLAIMS: list[str]
1415
def validate(self, now: Incomplete | None = None, leeway: int = 0) -> None: ...
1516
def validate_iss(self) -> None: ...
1617
def validate_sub(self) -> None: ...

stubs/Authlib/authlib/oauth2/rfc7523/client.pyi

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
1-
from _typeshed import Incomplete
1+
from typing import Final
22

3-
ASSERTION_TYPE: str
3+
ASSERTION_TYPE: Final[str]
44

55
class JWTBearerClientAssertion:
6-
CLIENT_ASSERTION_TYPE = ASSERTION_TYPE
7-
CLIENT_AUTH_METHOD: str
8-
token_url: Incomplete
9-
def __init__(self, token_url, validate_jti: bool = True) -> None: ...
6+
CLIENT_ASSERTION_TYPE: Final[str]
7+
CLIENT_AUTH_METHOD: Final[str]
8+
token_url: str
9+
leeway: int
10+
def __init__(self, token_url: str, validate_jti: bool = True, leeway: int = 60) -> None: ...
1011
def __call__(self, query_client, request): ...
1112
def create_claims_options(self): ...
1213
def process_assertion_claims(self, assertion, resolve_key): ...

stubs/Authlib/authlib/oauth2/rfc7591/claims.pyi

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
from _typeshed import Incomplete
2+
from collections.abc import Mapping
3+
from typing import Any
24

35
from authlib.jose import BaseClaims
46

57
class ClientMetadataClaims(BaseClaims):
6-
REGISTERED_CLAIMS: Incomplete
78
def validate(self) -> None: ...
89
def validate_redirect_uris(self) -> None: ...
910
def validate_token_endpoint_auth_method(self) -> None: ...
@@ -20,3 +21,5 @@ class ClientMetadataClaims(BaseClaims):
2021
def validate_jwks(self) -> None: ...
2122
def validate_software_id(self) -> None: ...
2223
def validate_software_version(self) -> None: ...
24+
@classmethod
25+
def get_claims_options(cls, metadata: Mapping[str, Incomplete]) -> dict[str, Any]: ... # dict values are key-dependent

stubs/Authlib/authlib/oauth2/rfc7591/endpoint.pyi

+5-7
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,16 @@
11
from _typeshed import Incomplete
2-
3-
from authlib.oauth2.rfc7591 import ClientMetadataClaims
2+
from typing import Final
43

54
class ClientRegistrationEndpoint:
6-
ENDPOINT_NAME: str
7-
claims_class = ClientMetadataClaims
5+
ENDPOINT_NAME: Final = "client_registration"
86
software_statement_alg_values_supported: Incomplete
97
server: Incomplete
10-
def __init__(self, server) -> None: ...
11-
def __call__(self, request): ...
8+
claims_classes: list[type[Incomplete]]
9+
def __init__(self, server: Incomplete | None = None, claims_classes: list[type[Incomplete]] | None = None) -> None: ...
10+
def __call__(self, request) -> dict[Incomplete, Incomplete]: ...
1211
def create_registration_response(self, request): ...
1312
def extract_client_metadata(self, request): ...
1413
def extract_software_statement(self, software_statement, request): ...
15-
def get_claims_options(self): ...
1614
def generate_client_info(self): ...
1715
def generate_client_registration_info(self, client, request) -> None: ...
1816
def create_endpoint_request(self, request): ...

stubs/Authlib/authlib/oauth2/rfc7592/endpoint.pyi

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
11
from _typeshed import Incomplete
2-
3-
from authlib.oauth2.rfc7591 import ClientMetadataClaims
2+
from typing import Final
43

54
class ClientConfigurationEndpoint:
6-
ENDPOINT_NAME: str
7-
claims_class = ClientMetadataClaims
5+
ENDPOINT_NAME: Final = "client_configuration"
86
server: Incomplete
9-
def __init__(self, server) -> None: ...
7+
claims_classes: list[type[Incomplete]]
8+
def __init__(self, server: Incomplete | None = None, claims_classes: list[type[Incomplete]] | None = None) -> None: ...
109
def __call__(self, request): ...
1110
def create_configuration_response(self, request): ...
1211
def create_endpoint_request(self, request): ...
1312
def create_read_client_response(self, client, request): ...
1413
def create_delete_client_response(self, client, request): ...
1514
def create_update_client_response(self, client, request): ...
1615
def extract_client_metadata(self, request): ...
17-
def get_claims_options(self): ...
1816
def introspect_client(self, client): ...
1917
def generate_client_registration_info(self, client, request) -> None: ...
2018
def authenticate_token(self, request) -> None: ...

stubs/Authlib/authlib/oauth2/rfc9068/claims.pyi

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ from _typeshed import Incomplete
33
from authlib.jose import JWTClaims
44

55
class JWTAccessTokenClaims(JWTClaims):
6-
REGISTERED_CLAIMS: Incomplete
76
def validate(self, now: Incomplete | None = None, leeway: int = 0, **kwargs) -> None: ...
87
def validate_typ(self) -> None: ...
98
def validate_client_id(self): ...
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from .parameter import IssuerParameter as IssuerParameter
2+
3+
__all__ = ["IssuerParameter"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
class IssuerParameter:
2+
def __call__(self, grant) -> None: ...
3+
def add_issuer_parameter(self, hook_type: str, response) -> None: ...
4+
def get_issuer(self) -> str | None: ...

stubs/Authlib/authlib/oidc/core/claims.pyi

-3
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,14 @@ class IDToken(JWTClaims):
1616

1717
class CodeIDToken(IDToken):
1818
RESPONSE_TYPES: Incomplete
19-
REGISTERED_CLAIMS: Incomplete
2019

2120
class ImplicitIDToken(IDToken):
2221
RESPONSE_TYPES: Incomplete
2322
ESSENTIAL_CLAIMS: Incomplete
24-
REGISTERED_CLAIMS: Incomplete
2523
def validate_at_hash(self) -> None: ...
2624

2725
class HybridIDToken(ImplicitIDToken):
2826
RESPONSE_TYPES: Incomplete
29-
REGISTERED_CLAIMS: Incomplete
3027
def validate(self, now: Incomplete | None = None, leeway: int = 0) -> None: ...
3128
def validate_c_hash(self) -> None: ...
3229

stubs/Authlib/authlib/oidc/core/grants/util.pyi

+1
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,6 @@ def generate_id_token(
1414
nonce: str | None = None,
1515
auth_time: int | None = None,
1616
code: str | None = None,
17+
kid: str | None = None,
1718
) -> str: ...
1819
def create_response_mode_response(redirect_uri, params, response_mode): ...
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from .claims import ClientMetadataClaims as ClientMetadataClaims
2+
3+
__all__ = ["ClientMetadataClaims"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from _typeshed import Incomplete
2+
from collections.abc import Mapping
3+
4+
from authlib.jose import BaseClaims
5+
6+
class ClientMetadataClaims(BaseClaims):
7+
def validate(self) -> None: ...
8+
# The "cls" argument is called "self" in the actual implementation,
9+
# but stubtest will not allow that.
10+
@classmethod
11+
def get_claims_options(cls, metadata: Mapping[str, Incomplete]) -> dict[str, Incomplete]: ...
12+
def validate_token_endpoint_auth_signing_alg(self) -> None: ...
13+
def validate_application_type(self) -> None: ...
14+
def validate_sector_identifier_uri(self) -> None: ...
15+
def validate_subject_type(self) -> None: ...
16+
def validate_id_token_signed_response_alg(self) -> None: ...
17+
def validate_id_token_encrypted_response_alg(self) -> None: ...
18+
def validate_id_token_encrypted_response_enc(self) -> None: ...
19+
def validate_userinfo_signed_response_alg(self) -> None: ...
20+
def validate_userinfo_encrypted_response_alg(self) -> None: ...
21+
def validate_userinfo_encrypted_response_enc(self) -> None: ...
22+
def validate_default_max_age(self) -> None: ...
23+
def validate_require_auth_time(self) -> None: ...
24+
def validate_default_acr_values(self) -> None: ...
25+
def validate_initiate_login_uri(self) -> None: ...
26+
def validate_request_object_signing_alg(self) -> None: ...
27+
def validate_request_object_encryption_alg(self) -> None: ...
28+
def validate_request_object_encryption_enc(self) -> None: ...
29+
def validate_request_uris(self) -> None: ...

0 commit comments

Comments
 (0)