From 9f1670f965593371b39d6d8e1b90557e64f20676 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Thu, 29 May 2025 14:29:53 +0200 Subject: [PATCH] revert more debugging stuff Signed-off-by: Jens Langhammer --- web/packages/sfe/src/index.ts | 41 +++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/web/packages/sfe/src/index.ts b/web/packages/sfe/src/index.ts index 311718180d..6d6372fe11 100644 --- a/web/packages/sfe/src/index.ts +++ b/web/packages/sfe/src/index.ts @@ -1,12 +1,20 @@ import { fromByteArray } from "base64-js"; -// import "formdata-polyfill"; +import "formdata-polyfill"; import $ from "jquery"; import "weakmap-polyfill"; - - -import { type AuthenticatorValidationChallenge, type AutosubmitChallenge, type ChallengeTypes, ChallengeTypesFromJSON, type ContextualFlowInfo, type DeviceChallenge, type ErrorDetail, type IdentificationChallenge, type PasswordChallenge, type RedirectChallenge } from "@goauthentik/api"; - +import { + type AuthenticatorValidationChallenge, + type AutosubmitChallenge, + type ChallengeTypes, + ChallengeTypesFromJSON, + type ContextualFlowInfo, + type DeviceChallenge, + type ErrorDetail, + type IdentificationChallenge, + type PasswordChallenge, + type RedirectChallenge, +} from "@goauthentik/api"; interface GlobalAuthentik { brand: { @@ -59,17 +67,15 @@ class SimpleFlowExecutor { }); } - submit(data: { [key: string]: unknown } | HTMLFormElement) { + submit(data: { [key: string]: unknown } | FormData) { $("button[type=submit]").addClass("disabled") .html(` - Loading...`); + Loading...`); let finalData: { [key: string]: unknown } = {}; - if (data.tagName === "FORM") { - // @ts-expect-error - const rawData = $(data as unknown as string).serializeArray(); - - rawData.forEach((entry) => { - finalData[entry.name] = entry.value; + if (data instanceof FormData) { + finalData = {}; + data.forEach((value, key) => { + finalData[key] = value; }); } else { finalData = data; @@ -192,7 +198,8 @@ class IdentificationStage extends Stage { $("#ident-form input[name=uid_field]").trigger("focus"); $("#ident-form").on("submit", (ev) => { ev.preventDefault(); - this.executor.submit(ev.target as HTMLFormElement); + const data = new FormData(ev.target as HTMLFormElement); + this.executor.submit(data); }); } } @@ -215,7 +222,8 @@ class PasswordStage extends Stage { $("#password-form input").trigger("focus"); $("#password-form").on("submit", (ev) => { ev.preventDefault(); - this.executor.submit(ev.target as HTMLFormElement); + const data = new FormData(ev.target as HTMLFormElement); + this.executor.submit(data); }); } } @@ -477,7 +485,8 @@ class AuthenticatorValidateStage extends Stage $("#totp-form input").trigger("focus"); $("#totp-form").on("submit", (ev) => { ev.preventDefault(); - this.executor.submit(ev.target as HTMLFormElement); + const data = new FormData(ev.target as HTMLFormElement); + this.executor.submit(data); }); }