All checks were successful
Test before pr merge / test-lint (pull_request) Successful in 6s
24 lines
691 B
Python
24 lines
691 B
Python
from typing import Optional
|
|
|
|
from keycloak import KeycloakOpenID
|
|
|
|
from cpl.auth.logger import AuthLogger
|
|
from cpl.auth.keycloak_settings import KeycloakSettings
|
|
|
|
|
|
class KeycloakClient(KeycloakOpenID):
|
|
|
|
def __init__(self, logger: AuthLogger, settings: KeycloakSettings):
|
|
KeycloakOpenID.__init__(
|
|
self,
|
|
server_url=settings.url,
|
|
client_id=settings.client_id,
|
|
realm_name=settings.realm,
|
|
client_secret_key=settings.client_secret,
|
|
)
|
|
logger.info("Initializing Keycloak client")
|
|
|
|
def get_user_id(self, token: str) -> Optional[str]:
|
|
info = self.introspect(token)
|
|
return info.get("sub", None)
|