Key OIDC identity by issuer and subject

This commit is contained in:
2026-10-25 08:35:11 +00:00
parent dab4b9e0bb
commit 44a79f5b0c
17 changed files with 293 additions and 27 deletions
+4 -2
View File
@@ -8,12 +8,14 @@ from typing import Any, Iterator, Optional
from kaya.oidc import OIDCUser
from kca.app import oidc
from kca.config import settings
_PROVIDER = next(iter(oidc.providers))
_ISSUER = settings.oidc_providers[0].issuer
def make_user(sub: str, name: Optional[str] = None, **claims: Any) -> OIDCUser:
data: dict = {"sub": sub, "preferred_username": name or sub}
data: dict = {"iss": _ISSUER, "sub": sub, "preferred_username": name or sub}
data.update(claims)
return OIDCUser(data)
@@ -24,7 +26,7 @@ def oidc_user(
name: Optional[str] = None,
**claims: Any,
) -> Iterator[OIDCUser]:
data: dict = {"sub": sub, "preferred_username": name or sub}
data: dict = {"iss": _ISSUER, "sub": sub, "preferred_username": name or sub}
data.update(claims)
user = OIDCUser(data)
patcher = _mock.patch.object(oidc, "get_users", return_value={_PROVIDER: user})