BREAKING CHANGE: this change introduces a very strong typing across the library. From now on, we demand that each method returns a single type and converts the results into the specified return type, otherwise it raises a TypeError exception. This should resolve any type checking linter errors within the library as well.
This change was introduced in https://github.com/marcospereirampj/python-keycloak/pull/627
Co-authored-by: Richard Nemeth <ryshoooo@gmail.com>
BREAKING CHANGE: changes the behavior of get_group_by_path to raise an exception in case the path is not found, which is now the definitive new behavior
* feat: support PKCE in authorization flow (RFC 7636)
* test: add tests for PKCE flow
* docs: document PKCE usage in OpenID client
* chore: address linting and formatting issues
* test: full e2e pkce test
* test: skip pkce for 22 and below
---------
Co-authored-by: Richard Nemeth <ryshoooo@gmail.com>
* feat: add pool_maxsize parameter to connection managers
Introduces the `pool_maxsize` parameter to `KeycloakOpenID` and `KeycloakAdmin` classes, allowing control over the underlying connection pool size in the `ConnectionManager`.
Adds corresponding tests to verify the parameter is correctly passed and stored for both synchronous and asynchronous clients.
* feat: apply pool maxsize for async as well
---------
Co-authored-by: Richard Nemeth <ryshoooo@gmail.com>
* feat: adds support for keycloak organizations
* chore: fix linting issues
* chore: run organization tests only on keycloak v26 or higher
* chore: also run organization tests on latest
* chore: typo
* chore: lint
* fix: adds await to async methods