All checks were successful
Build on push / prepare (push) Successful in 9s
Build on push / query (push) Successful in 18s
Build on push / core (push) Successful in 24s
Build on push / dependency (push) Successful in 17s
Build on push / database (push) Successful in 15s
Build on push / translation (push) Successful in 15s
Build on push / mail (push) Successful in 18s
Build on push / application (push) Successful in 19s
Build on push / auth (push) Successful in 16s
37 lines
968 B
Python
37 lines
968 B
Python
from cpl.core.utils.get_value import get_value
|
|
from cpl.dependency import ServiceProviderABC
|
|
|
|
|
|
class KeycloakUser:
|
|
|
|
def __init__(self, source: dict):
|
|
self._username = get_value(source, "preferred_username", str)
|
|
self._email = get_value(source, "email", str)
|
|
self._email_verified = get_value(source, "email_verified", bool)
|
|
self._name = get_value(source, "name", str)
|
|
|
|
@property
|
|
def username(self) -> str:
|
|
return self._username
|
|
|
|
@property
|
|
def email(self) -> str:
|
|
return self._email
|
|
|
|
@property
|
|
def email_verified(self) -> bool:
|
|
return self._email_verified
|
|
|
|
@property
|
|
def name(self) -> str:
|
|
return self._name
|
|
|
|
# Attrs from keycloak
|
|
|
|
@property
|
|
def id(self) -> str:
|
|
from cpl.auth import KeycloakAdmin
|
|
|
|
keycloak_admin: KeycloakAdmin = ServiceProviderABC.get_global_service(KeycloakAdmin)
|
|
return keycloak_admin.get_user_id(self._username)
|