""" Security initialization module Handles OIDC configuration and authentication setup """ from src.shared.config import Settings from src.shared.logging import get_logger logger = get_logger(__name__) def initialize_oidc(settings: Settings) -> None: """ Initialize OIDC authentication configuration Args: settings: Application settings containing OIDC configuration """ # Import here to avoid circular imports # Configure BOTH oidc modules (src.auth and src.domains.auth) from src.auth.oidc import oidc_config as auth_oidc_config from src.domains.auth.oidc import oidc_config as domains_oidc_config auth_oidc_config.configure( enabled=settings.oidc_enabled, issuer=settings.oidc_issuer, audiences=settings.oidc_audiences ) domains_oidc_config.configure( enabled=settings.oidc_enabled, issuer=settings.oidc_issuer, audiences=settings.oidc_audiences ) if settings.oidc_enabled: logger.info(f"OIDC authentication enabled (issuer: {settings.oidc_issuer})") else: logger.info("OIDC authentication disabled - API is publicly accessible")