Fixing 404 due to construction of URL from Unifi

This commit is contained in:
Roger Joys
2026-03-15 16:19:49 -07:00
parent 15c457d377
commit 9be2d02ef8

View File

@@ -50,17 +50,17 @@ async def portal(request: Request, site: str, mac: str, ap: str = "", url: str =
"url": url, "url": url,
} }
@app.get("/guest/s/{site_id}/") @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 = ""): 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.""" """Handle UniFi's default captive portal redirect format."""
# Map ssid to site # Map ssid to site
site = next((s for s in config.sites.values() if s.ssid == ssid), None) site = next((s for s in config.sites.values() if s.ssid == ssid), None)
if site is None: if site is None:
# Fall back to first site # Fall back to first site
site = next(iter(config.sites.values())) site = next(iter(config.sites.values()))
mac = id # UniFi sends MAC as 'id' parameter mac = id # UniFi sends MAC as 'id' parameter
return await portal(request, site=site.id, mac=mac, ap=ap, url=url) return await portal(request, site=site.id, mac=mac, ap=ap, url=url)
auth_url = get_authorization_url(config, state) auth_url = get_authorization_url(config, state)
return RedirectResponse(auth_url) return RedirectResponse(auth_url)