from datetime import timedelta import logging import os _logger = logging.getLogger(__name__) # Authentik OIDC Configuration AUTHENTIK_URL = os.getenv("AUTHENTIK_URL", "https://authentik.viktorbarzin.me") OIDC_CLIENT_ID = os.getenv("OIDC_CLIENT_ID", "5AJKRgcdgVm1OyApBzFkadDFfStW9a555zwv2MOe") OIDC_METADATA_URL = ( f"{AUTHENTIK_URL}/application/o/wrongmove/.well-known/openid-configuration" ) OIDC_CACHE_TTL = timedelta( hours=1 ).total_seconds() # Cache to avoid spamming authentik with requests DEV_TIER_ORIGINS = ["https://localhost/"] PROD_TIER_ORIGINS = ["https://wrongmove.viktorbarzin.me/"] # WebAuthn / Passkey Configuration WEBAUTHN_RP_ID = os.getenv("WEBAUTHN_RP_ID", "localhost") WEBAUTHN_RP_NAME = os.getenv("WEBAUTHN_RP_NAME", "Wrongmove") WEBAUTHN_ORIGIN = os.getenv("WEBAUTHN_ORIGIN", "https://localhost") # JWT Configuration (for passkey-issued tokens) JWT_SECRET = os.getenv("JWT_SECRET", "change-me-in-production") if JWT_SECRET == "change-me-in-production": _logger.warning("JWT_SECRET is using the default value. Set JWT_SECRET env var in production.") JWT_ALGORITHM = os.getenv("JWT_ALGORITHM", "HS256") JWT_EXPIRATION_HOURS = int(os.getenv("JWT_EXPIRATION_HOURS", "24")) JWT_ISSUER = os.getenv("JWT_ISSUER", "wrongmove")