From 44d5b0637a081257b73cbe0033c8944452aa4a3f Mon Sep 17 00:00:00 2001 From: Stefan Benz <46600784+stebenz@users.noreply.github.com> Date: Wed, 12 Mar 2025 10:04:51 +0100 Subject: [PATCH] fix: saml attributes for form post --- apps/login/src/app/login/route.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/apps/login/src/app/login/route.ts b/apps/login/src/app/login/route.ts index 0aba32e76e..40dfcdcd8b 100644 --- a/apps/login/src/app/login/route.ts +++ b/apps/login/src/app/login/route.ts @@ -476,17 +476,17 @@ export async function GET(request: NextRequest) { return NextResponse.redirect(url); } else if (url && binding.case === "post") { const formData = { - relayState: binding.value.relayState, - samlResponse: binding.value.samlResponse, + "RelayState": binding.value.relayState, + "SAMLResponse": binding.value.samlResponse, }; - // Convert form data to URL-encoded string - const formBody = new FormData(); + const formBody = Object.entries(formData) + .map( + ([key, value]) => + encodeURIComponent(key) + "=" + encodeURIComponent(value), + ) + .join("&"); - formBody.append("RelayState", formData.relayState); - formBody.append("SAMLResponse", formData.samlResponse); - console.log(url) - console.log(formBody) // Make a POST request to the external URL with the form data const response = await fetch(url, { method: "POST", @@ -495,7 +495,6 @@ export async function GET(request: NextRequest) { }, body: formBody, }); - console.log(response) // Handle the response from the external URL if (response.ok) {