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
* fix: update dependencies
* fix: query params in url patterns break with httpx later versions, the query parameters are therefore explicitly set on each request
BREAKING CHANGE: removed a couple of unused url patterns
* Consistency for token decoding
* Mark as staticmethod
* Helper function to convert key
* Refactor key handling
* Add tests for validate=False
* Change test name
* Fix failing test
* Remove special case for str
* Some docstring
* docs: missing docstrings
---------
Co-authored-by: Richard Nemeth <ryshoooo@gmail.com>
* Don't use sync functions to introspect token
* One more async
* Fix some spacing
* A few more async functions
* Fix compatibility issue
* Comment
* Formatting
* feat: add optional nonce parameter to the authorization URL requests
* fix: shorten docstring to be below max line length
---------
Co-authored-by: Greg Griffin <greg@lapetussolutions.com>
* fix: Added grant type as openid_connection optional attribute
* fix: Add getter and setter for grant_type
---------
Co-authored-by: Alex Rohozneanu <aro@bigbrother.nl>