From de22d3ba3b5f28a4783ead034874ac954ac1ceef Mon Sep 17 00:00:00 2001 From: Danny Webb Date: Tue, 4 Apr 2023 16:19:49 +0100 Subject: [PATCH] change sso port to be optional request.url.port can return None in the case of default ports (80,443) Change-Id: I07b5fdf11199afefd2996ff36c6e997e52037308 Signed-off-by: Danny Webb --- skyline_apiserver/api/v1/login.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/skyline_apiserver/api/v1/login.py b/skyline_apiserver/api/v1/login.py index a3a7cb8..8866c7b 100644 --- a/skyline_apiserver/api/v1/login.py +++ b/skyline_apiserver/api/v1/login.py @@ -207,7 +207,8 @@ async def get_sso(request: Request) -> schemas.SSO: ks_url = CONF.openstack.keystone_url.rstrip("/") url_scheme = "https" if CONF.default.ssl_enabled else "http" - base_url = f"{url_scheme}://{request.url.hostname}:{request.url.port}" + port = f":{request.url.port}" if request.url.port else "" + base_url = f"{url_scheme}://{request.url.hostname}{port}" base_path = str(PurePath("/").joinpath(CONF.openstack.nginx_prefix, "skyline")) for protocol in CONF.openstack.sso_protocols: