From dfdc90b686f9bb02baec2f69a43e03ee0572fd9a Mon Sep 17 00:00:00 2001 From: Joseph Garrone Date: Mon, 22 Apr 2024 04:06:06 +0200 Subject: [PATCH] Dot not create fake attribute field, hide password confirm at an higher level --- src/login/kcContext/KcContext.ts | 6 ------ src/login/lib/useUserProfileForm.tsx | 9 ++++----- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/login/kcContext/KcContext.ts b/src/login/kcContext/KcContext.ts index fb657244..95e793cf 100644 --- a/src/login/kcContext/KcContext.ts +++ b/src/login/kcContext/KcContext.ts @@ -540,12 +540,6 @@ export type Attribute = { validators: Validators; annotations: Record; multivalued?: boolean; - /** - * NOTE: This is not a Keycloak attribute, it's a Keycloakify addition. - * usecase is to enable to hide the password confirmation if the theme is configured like that. - * SEE: https://github.com/keycloakify/keycloakify/issues/238#issuecomment-1874605774 - */ - hidden?: boolean; autocomplete?: | "on" | "off" diff --git a/src/login/lib/useUserProfileForm.tsx b/src/login/lib/useUserProfileForm.tsx index dc143d6f..f21240a1 100644 --- a/src/login/lib/useUserProfileForm.tsx +++ b/src/login/lib/useUserProfileForm.tsx @@ -56,14 +56,14 @@ export type KcContextLike = { passwordPolicies?: PasswordPolicies; }; -export type ParamsOfUseProfileAttributeForm = { +export type ParamsOfUseUserProfileForm = { kcContext: KcContextLike; passwordValidators?: Validators; requirePasswordConfirmation?: boolean; i18n: I18n; }; -export type ReturnTypeOfUseProfileAttributeForm = { +export type ReturnTypeOfUseUserProfileForm = { formState: FormState; dispatchFormAction: Dispatch; attributesWithPassword: Attribute[]; @@ -73,8 +73,8 @@ export type ReturnTypeOfUseProfileAttributeForm = { * NOTE: The attributesWithPassword returned is actually augmented with * artificial password related attributes only if kcContext.passwordRequired === true */ -export function useUserProfileForm(params: ParamsOfUseProfileAttributeForm): ReturnTypeOfUseProfileAttributeForm { - const { kcContext, passwordValidators = {}, requirePasswordConfirmation = true, i18n } = params; +export function useUserProfileForm(params: ParamsOfUseUserProfileForm): ReturnTypeOfUseUserProfileForm { + const { kcContext, passwordValidators = {}, i18n } = params; const attributesWithPassword = useMemo(() => { const attributesWithPassword: Attribute[] = []; @@ -118,7 +118,6 @@ export function useUserProfileForm(params: ParamsOfUseProfileAttributeForm): Ret "annotations": {}, "html5DataAnnotations": {}, "autocomplete": "new-password", - "hidden": !requirePasswordConfirmation, // NOTE: Compat with Keycloak version prior to 24 ...({ "groupAnnotations": {} } as {}) }