portal: fix keycloak admin user lookup
This commit is contained in:
parent
6ae48eed9d
commit
4dd991bc30
@ -94,7 +94,9 @@ class KeycloakAdminClient:
|
|||||||
|
|
||||||
def find_user(self, username: str) -> dict[str, Any] | None:
|
def find_user(self, username: str) -> dict[str, Any] | None:
|
||||||
url = f"{settings.KEYCLOAK_ADMIN_URL}/admin/realms/{settings.KEYCLOAK_REALM}/users"
|
url = f"{settings.KEYCLOAK_ADMIN_URL}/admin/realms/{settings.KEYCLOAK_REALM}/users"
|
||||||
params = {"username": username, "exact": "true"}
|
# Keycloak 26.x in our environment intermittently 400s on filtered user queries unless `max` is set.
|
||||||
|
# Use `max=1` and exact username match to keep admin calls reliable for portal provisioning.
|
||||||
|
params = {"username": username, "exact": "true", "max": "1"}
|
||||||
with httpx.Client(timeout=settings.HTTP_CHECK_TIMEOUT_SEC) as client:
|
with httpx.Client(timeout=settings.HTTP_CHECK_TIMEOUT_SEC) as client:
|
||||||
resp = client.get(url, params=params, headers=self._headers())
|
resp = client.get(url, params=params, headers=self._headers())
|
||||||
resp.raise_for_status()
|
resp.raise_for_status()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user