diff --git a/src/login/kcContext/kcContextMocks.ts b/src/login/kcContext/kcContextMocks.ts index 359df1e9..915db2e4 100644 --- a/src/login/kcContext/kcContextMocks.ts +++ b/src/login/kcContext/kcContextMocks.ts @@ -527,7 +527,7 @@ export const kcContextMocks = [ ...kcContextCommonMock, pageId: "saml-post-form.ftl", "samlPost": { - "url": "https://saml-post-url" + "url": "" } }), id({ diff --git a/src/login/pages/SamlPostForm.tsx b/src/login/pages/SamlPostForm.tsx index 14b88098..03522f95 100644 --- a/src/login/pages/SamlPostForm.tsx +++ b/src/login/pages/SamlPostForm.tsx @@ -1,4 +1,4 @@ -import { useEffect } from "react"; +import { useEffect, useState } from "react"; import type { PageProps } from "keycloakify/login/pages/PageProps"; import type { KcContext } from "../kcContext"; import type { I18n } from "../i18n"; @@ -9,13 +9,26 @@ export default function SamlPostForm(props: PageProps(null); + useEffect(() => { - document.forms[0].submit(); - }, [samlPost]); + if (htmlFormElement === null) { + return; + } + + // Storybook + if (samlPost.url === "") { + alert("In a real Keycloak the user would be redirected immediately"); + return; + } + + htmlFormElement.submit(); + }, [htmlFormElement]); return (