from __future__ import annotations import os SETTINGS_PREFIX = "OPENBAO__SETTINGS__" RAISA_ENV_KEYS = ( "AUTHORIZE_URL", "TOKEN_URL", "REFRESH_TOKEN_URL", "LOGOUT_URL", "JWKS_URL", "CLIENT_ID", "CLIENT_SECRET", "REDIRECT_URI", "SCOPE", "APP_ID", "APP_NAMESPACE", "APP_NAME", "LOCATION", ) def get_setting(name: str) -> str: prefixed = os.getenv(f"{SETTINGS_PREFIX}{name}", "").strip() if prefixed: return prefixed return os.getenv(name, "").strip() def get_location() -> str: return get_setting("LOCATION").lower() or "prod" def apply_raisa_env_aliases() -> None: """ Заполняет обычные имена переменных из OPENBAO__SETTINGS__, чтобы raisa_streamlit_oauth работал одинаково в локальном и raisa runtime. """ for key in RAISA_ENV_KEYS: prefixed = os.getenv(f"{SETTINGS_PREFIX}{key}", "").strip() if prefixed and not os.getenv(key): os.environ[key] = prefixed