From a4cd58413630bc296d305296a658a5b61f41c615 Mon Sep 17 00:00:00 2001 From: Tomer Date: Mon, 24 Mar 2025 17:20:26 +0200 Subject: [PATCH] fix: base url extraction in case its an object discovered on jumpcloud sso integration --- src/binding-redirect.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/binding-redirect.ts b/src/binding-redirect.ts index 4ff402d9..d68afba9 100644 --- a/src/binding-redirect.ts +++ b/src/binding-redirect.ts @@ -45,12 +45,20 @@ function pvPair(param: string, value: string, first?: boolean): string { */ function buildRedirectURL(opts: BuildRedirectConfig) { const { - baseUrl, type, isSigned, context, entitySetting, } = opts; + let { baseUrl } = opts; + if (typeof baseUrl === 'object') { + const baseUrlKeys = Object.keys(baseUrl); + if (baseUrlKeys.length > 0) { + baseUrl = baseUrl['urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST'] || baseUrl[baseUrlKeys[0]]; + } + } else if (Array.isArray(baseUrl) && baseUrl.length > 0) { + baseUrl = baseUrl[0]; + } let { relayState = '' } = opts; const noParams = (url.parse(baseUrl).query || []).length === 0; const queryParam = libsaml.getQueryParamByType(type);