From 9be2d02ef84326d728ca33a6cd40c7e50581ac11 Mon Sep 17 00:00:00 2001 From: Roger Joys Date: Sun, 15 Mar 2026 16:19:49 -0700 Subject: [PATCH] Fixing 404 due to construction of URL from Unifi --- app/main.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/main.py b/app/main.py index c98dcbc..cabb0ca 100644 --- a/app/main.py +++ b/app/main.py @@ -50,17 +50,17 @@ async def portal(request: Request, site: str, mac: str, ap: str = "", url: str = "url": url, } - @app.get("/guest/s/{site_id}/") - async def unifi_portal(request: Request, site_id: str, ap: str = "", id: str = "", t: str = "", url: str = "", ssid: str = ""): - """Handle UniFi's default captive portal redirect format.""" - # Map ssid to site - site = next((s for s in config.sites.values() if s.ssid == ssid), None) - if site is None: - # Fall back to first site - site = next(iter(config.sites.values())) +@app.get("/guest/s/{site_id}/") +async def unifi_portal(request: Request, site_id: str, ap: str = "", id: str = "", t: str = "", url: str = "", ssid: str = ""): + """Handle UniFi's default captive portal redirect format.""" + # Map ssid to site + site = next((s for s in config.sites.values() if s.ssid == ssid), None) + if site is None: + # Fall back to first site + site = next(iter(config.sites.values())) - mac = id # UniFi sends MAC as 'id' parameter - return await portal(request, site=site.id, mac=mac, ap=ap, url=url) + mac = id # UniFi sends MAC as 'id' parameter + return await portal(request, site=site.id, mac=mac, ap=ap, url=url) auth_url = get_authorization_url(config, state) return RedirectResponse(auth_url)