fix-saml-post-form

This commit is contained in:
satanshiro
2023-05-02 16:50:44 +03:00
committed by GitHub
parent bacd09484a
commit 4113f0faea

View File

@ -1,3 +1,4 @@
import { useEffect } from "react";
import type { PageProps } from "keycloakify/login/pages/PageProps"; import type { PageProps } from "keycloakify/login/pages/PageProps";
import type { KcContext } from "../kcContext"; import type { KcContext } from "../kcContext";
import type { I18n } from "../i18n"; import type { I18n } from "../i18n";
@ -8,15 +9,14 @@ export default function SamlPostForm(props: PageProps<Extract<KcContext, { pageI
const { msgStr, msg } = i18n; const { msgStr, msg } = i18n;
const { samlPost } = kcContext; const { samlPost } = kcContext;
useEffect(() => { document.forms[0].submit(); }, [samlPost]);
return ( return (
<Template {...{ kcContext, i18n, doUseDefaultCss, classes }} displayMessage={false} headerNode={msg("saml.post-form.title")}> <Template {...{ kcContext, i18n, doUseDefaultCss, classes }} displayMessage={false} headerNode={msg("saml.post-form.title")}>
<script dangerouslySetInnerHTML={{ "__html": `window.onload = function() {document.forms[0].submit()};` }} />
<p>{msg("saml.post-form.message")}</p> <p>{msg("saml.post-form.message")}</p>
<form name="saml-post-binding" method="post" action={samlPost.url}> <form name="saml-post-binding" method="post" action={samlPost.url}>
{samlPost.SAMLRequest && <input type="hidden" name="SAMLRequest" value={samlPost.SAMLRequest} />} {samlPost.SAMLRequest && <input type="hidden" name="SAMLRequest" value={samlPost.SAMLRequest} />}
{samlPost.SAMLResponse && <input type="hidden" name="SAMLResponse" value={samlPost.SAMLResponse} />} {samlPost.SAMLResponse && <input type="hidden" name="SAMLResponse" value={samlPost.SAMLResponse} />}
{samlPost.RelayState && <input type="hidden" name="RelayState" value={samlPost.RelayState} />} {samlPost.relayState && <input type="hidden" name="RelayState" value={samlPost.relayState} />}
<noscript> <noscript>
<p>{msg("saml.post-form.js-disabled")}</p> <p>{msg("saml.post-form.js-disabled")}</p>
<input type="submit" value={msgStr("doContinue")} /> <input type="submit" value={msgStr("doContinue")} />