33 lines
937 B
Python
33 lines
937 B
Python
"""
|
|
Security initialization module
|
|
|
|
Handles OIDC configuration and authentication setup
|
|
"""
|
|
from src.config import Settings
|
|
from src.auth.oidc import oidc_config
|
|
from src.logging_config import get_logger
|
|
|
|
logger = get_logger(__name__)
|
|
|
|
|
|
def initialize_oidc(settings: Settings) -> None:
|
|
"""
|
|
Initialize OIDC authentication configuration
|
|
|
|
Configures the global oidc_config instance with settings from environment.
|
|
If OIDC is enabled, logs the issuer URL for verification.
|
|
|
|
Args:
|
|
settings: Application settings containing OIDC configuration
|
|
"""
|
|
oidc_config.configure(
|
|
enabled=settings.oidc_enabled,
|
|
issuer=settings.oidc_issuer,
|
|
audience=settings.oidc_audience
|
|
)
|
|
|
|
if settings.oidc_enabled:
|
|
logger.info(f"✓ OIDC authentication enabled (issuer: {settings.oidc_issuer})")
|
|
else:
|
|
logger.info("○ OIDC authentication disabled - API is publicly accessible")
|