add frontchannel-logout.ftl page
This commit is contained in:
41
src/login/pages/FrontchannelLogout.tsx
Normal file
41
src/login/pages/FrontchannelLogout.tsx
Normal file
@ -0,0 +1,41 @@
|
||||
import { useEffect } from "react";
|
||||
import type { PageProps } from "keycloakify/login/pages/PageProps";
|
||||
import type { KcContext } from "../kcContext";
|
||||
import type { I18n } from "../i18n";
|
||||
|
||||
export default function FrontchannelLogout(props: PageProps<Extract<KcContext, { pageId: "frontchannel-logout.ftl" }>, I18n>) {
|
||||
const { kcContext, i18n, doUseDefaultCss, Template, classes } = props;
|
||||
|
||||
const { logout } = kcContext;
|
||||
|
||||
const { msg, msgStr } = i18n;
|
||||
|
||||
useEffect(() => {
|
||||
if (logout.logoutRedirectUri) {
|
||||
window.location.replace(logout.logoutRedirectUri);
|
||||
}
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<Template
|
||||
{...{ kcContext, i18n, doUseDefaultCss, classes }}
|
||||
documentTitle={msgStr("frontchannel-logout.title")}
|
||||
headerNode={msg("frontchannel-logout.title")}
|
||||
>
|
||||
<p>{msg("frontchannel-logout.message")}</p>
|
||||
<ul>
|
||||
{logout.clients.map(client => (
|
||||
<li key={client.name}>
|
||||
{client.name}
|
||||
<iframe src={client.frontChannelLogoutUrl} style={{ "display": "none" }} />
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
{logout.logoutRedirectUri && (
|
||||
<a id="continue" className="btn btn-primary" href={logout.logoutRedirectUri}>
|
||||
{msg("doContinue")}
|
||||
</a>
|
||||
)}
|
||||
</Template>
|
||||
);
|
||||
}
|
Reference in New Issue
Block a user