From f2fcb553a5935dc91a99580425fd25ce0ac237fe Mon Sep 17 00:00:00 2001 From: Joseph Garrone Date: Tue, 14 May 2024 00:00:17 +0200 Subject: [PATCH] Pass totp.policy.getAlgorithmKey() to the freemarker template --- .../ftl_object_to_js_code_declaring_an_object.ftl | 11 +++++++++++ src/login/kcContext/KcContext.ts | 1 + src/login/pages/LoginConfigTotp.tsx | 10 +--------- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl b/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl index ac7634cf..bb9a4afc 100644 --- a/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl +++ b/src/bin/keycloakify/generateFtl/ftl_object_to_js_code_declaring_an_object.ftl @@ -254,6 +254,17 @@ <#attempt> return "${url.getLogoutUrl()}"; <#recover> + throw new Error("Failed to invoke url.getLogoutUrl() in the FreeMarker template"); + + }; + + + <#if pageId === "login-config-totp.ftl"> + out["totp"]["policy"]["getAlgorithmKey"] = function () { + <#attempt> + return "${totp.policy.getAlgorithmKey()}"; + <#recover> + throw new Error("Failed to invoke totp.policy.getAlgorithmKey() in the FreeMarker template"); }; diff --git a/src/login/kcContext/KcContext.ts b/src/login/kcContext/KcContext.ts index 88c759b8..69b3813a 100644 --- a/src/login/kcContext/KcContext.ts +++ b/src/login/kcContext/KcContext.ts @@ -419,6 +419,7 @@ export declare namespace KcContext { algorithm: "HmacSHA1" | "HmacSHA256" | "HmacSHA512"; digits: number; lookAheadWindow: number; + getAlgorithmKey: () => string; } & ( | { type: "totp"; diff --git a/src/login/pages/LoginConfigTotp.tsx b/src/login/pages/LoginConfigTotp.tsx index 61b07a65..46cda7c0 100644 --- a/src/login/pages/LoginConfigTotp.tsx +++ b/src/login/pages/LoginConfigTotp.tsx @@ -17,14 +17,6 @@ export default function LoginConfigTotp(props: PageProps = { - "HmacSHA1": "SHA1", - "HmacSHA256": "SHA256", - "HmacSHA512": "SHA512" - }; - return (