Key OIDC identity by issuer and subject
This commit is contained in:
@@ -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})
|
||||
|
||||
Reference in New Issue
Block a user