From b8554830e461fe15c9cd79f78081ffa065c35785 Mon Sep 17 00:00:00 2001 From: gabdevele Date: Wed, 17 Jun 2026 19:23:38 +0200 Subject: [PATCH] fix: replace url script was too rigid --- scripts/rewrite_dumps.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/scripts/rewrite_dumps.py b/scripts/rewrite_dumps.py index 97c509a..314175d 100644 --- a/scripts/rewrite_dumps.py +++ b/scripts/rewrite_dumps.py @@ -9,15 +9,20 @@ ROOT = pathlib.Path(__file__).resolve().parents[1] def env(name: str, default: str = "") -> str: - value = os.getenv(name, default).strip() - if not value: - raise SystemExit(f"missing env: {name}") - return value.rstrip("/") + return os.getenv(name, default).strip().rstrip("/") + +def infer_base_url(kind: str) -> str: + hosts = env("DJANGO_ALLOWED_HOSTS") or env("CIE_AUTH_ALLOWED_HOSTS") + items = [host.strip() for host in hosts.split(",") if host.strip() and host.strip() != "*"] + for host in items: + if kind in host: + return f"https://{host}" + raise SystemExit(f"missing env for {kind}: set explicit base URL or include hostname in allowed hosts") -TA = env("DJANGO_TRUST_ANCHOR") -PROVIDER_ISSUER = env("DJANGO_PROVIDER_ISSUER") -RP_BASE = env("DJANGO_RP_BASE_URL") +TA = env("DJANGO_TRUST_ANCHOR") or infer_base_url("fa") +PROVIDER_ISSUER = env("DJANGO_PROVIDER_ISSUER") or f"{infer_base_url('provider')}/oidc/op" +RP_BASE = env("DJANGO_RP_BASE_URL") or infer_base_url("rp") RP_ISSUER = f"{RP_BASE}/oidc/rp" PROVIDER_BASE = PROVIDER_ISSUER.removesuffix("/oidc/op")