Remove strict validation on response_modes_supported member of OAuthMetadata (#1243)
Some checks failed
Main branch checks / checks (push) Has been cancelled
Some checks failed
Main branch checks / checks (push) Has been cancelled
This commit is contained in:
parent
e68e513b42
commit
ef4e167c1a
2 changed files with 23 additions and 1 deletions
|
|
@ -114,7 +114,7 @@ class OAuthMetadata(BaseModel):
|
||||||
registration_endpoint: AnyHttpUrl | None = None
|
registration_endpoint: AnyHttpUrl | None = None
|
||||||
scopes_supported: list[str] | None = None
|
scopes_supported: list[str] | None = None
|
||||||
response_types_supported: list[str] = ["code"]
|
response_types_supported: list[str] = ["code"]
|
||||||
response_modes_supported: list[Literal["query", "fragment", "form_post"]] | None = None
|
response_modes_supported: list[str] | None = None
|
||||||
grant_types_supported: list[str] | None = None
|
grant_types_supported: list[str] | None = None
|
||||||
token_endpoint_auth_methods_supported: list[str] | None = None
|
token_endpoint_auth_methods_supported: list[str] | None = None
|
||||||
token_endpoint_auth_signing_alg_values_supported: list[str] | None = None
|
token_endpoint_auth_signing_alg_values_supported: list[str] | None = None
|
||||||
|
|
|
||||||
|
|
@ -37,3 +37,25 @@ class TestOAuthMetadata:
|
||||||
"userinfo_endpoint": "https://example.com/oauth2/userInfo",
|
"userinfo_endpoint": "https://example.com/oauth2/userInfo",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_oauth_with_jarm(self):
|
||||||
|
"""Should not throw when parsing OAuth metadata that includes JARM response modes."""
|
||||||
|
OAuthMetadata.model_validate(
|
||||||
|
{
|
||||||
|
"issuer": "https://example.com",
|
||||||
|
"authorization_endpoint": "https://example.com/oauth2/authorize",
|
||||||
|
"token_endpoint": "https://example.com/oauth2/token",
|
||||||
|
"scopes_supported": ["read", "write"],
|
||||||
|
"response_types_supported": ["code", "token"],
|
||||||
|
"response_modes_supported": [
|
||||||
|
"query",
|
||||||
|
"fragment",
|
||||||
|
"form_post",
|
||||||
|
"query.jwt",
|
||||||
|
"fragment.jwt",
|
||||||
|
"form_post.jwt",
|
||||||
|
"jwt",
|
||||||
|
],
|
||||||
|
"token_endpoint_auth_methods_supported": ["client_secret_basic", "client_secret_post"],
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue