All Downloads are FREE. Search and download functionalities are using the official Maven repository.

theme.keycloak.v2.admin.resources.assets.UserFederationLdapForm-69f9ad55.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"UserFederationLdapForm-69f9ad55.js","sources":["../../src/user-federation/ldap/LdapSettingsConnection.tsx","../../src/user-federation/ldap/LdapSettingsAdvanced.tsx","../../src/user-federation/ldap/LdapSettingsGeneral.tsx","../../src/user-federation/ldap/LdapSettingsKerberosIntegration.tsx","../../src/user-federation/ldap/LdapSettingsSearching.tsx","../../src/user-federation/ldap/LdapSettingsSynchronization.tsx","../../src/user-federation/UserFederationLdapForm.tsx"],"sourcesContent":["import type TestLdapConnectionRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/testLdapConnection\";\nimport {\n  AlertVariant,\n  Button,\n  FormGroup,\n  Select,\n  SelectOption,\n  SelectVariant,\n  Switch,\n  ValidatedOptions,\n} from \"@patternfly/react-core\";\nimport { get, isEqual } from \"lodash-es\";\nimport { useState } from \"react\";\nimport { Controller, UseFormReturn, useWatch } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { HelpItem } from \"ui-shared\";\n\nimport { adminClient } from \"../../admin-client\";\nimport { useAlerts } from \"../../components/alert/Alerts\";\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport { KeycloakTextInput } from \"../../components/keycloak-text-input/KeycloakTextInput\";\nimport { PasswordInput } from \"../../components/password-input/PasswordInput\";\nimport { WizardSectionHeader } from \"../../components/wizard-section-header/WizardSectionHeader\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\n\nexport type LdapSettingsConnectionProps = {\n  form: UseFormReturn;\n  id?: string;\n  showSectionHeading?: boolean;\n  showSectionDescription?: boolean;\n};\n\nconst testLdapProperties: Array = [\n  \"connectionUrl\",\n  \"bindDn\",\n  \"bindCredential\",\n  \"useTruststoreSpi\",\n  \"connectionTimeout\",\n  \"startTls\",\n  \"authType\",\n];\n\ntype TestTypes = \"testConnection\" | \"testAuthentication\";\n\nexport const convertFormToSettings = (form: UseFormReturn) => {\n  const settings: TestLdapConnectionRepresentation = {};\n\n  testLdapProperties.forEach((key) => {\n    const value = get(form.getValues(), `config.${key}`);\n    settings[key] = Array.isArray(value) ? value[0] : \"\";\n  });\n\n  return settings;\n};\n\nexport const LdapSettingsConnection = ({\n  form,\n  id,\n  showSectionHeading = false,\n  showSectionDescription = false,\n}: LdapSettingsConnectionProps) => {\n  const { t } = useTranslation(\"user-federation\");\n  const { t: helpText } = useTranslation(\"user-federation-help\");\n  const { realm } = useRealm();\n  const { addAlert, addError } = useAlerts();\n  const edit = !!id;\n\n  const testLdap = async (testType: TestTypes) => {\n    try {\n      const settings = convertFormToSettings(form);\n      await adminClient.realms.testLDAPConnection(\n        { realm },\n        { ...settings, action: testType, componentId: id },\n      );\n      addAlert(t(\"testSuccess\"), AlertVariant.success);\n    } catch (error) {\n      addError(\"user-federation:testError\", error);\n    }\n  };\n\n  const [isTruststoreSpiDropdownOpen, setIsTruststoreSpiDropdownOpen] =\n    useState(false);\n\n  const [isBindTypeDropdownOpen, setIsBindTypeDropdownOpen] = useState(false);\n\n  const ldapBindType = useWatch({\n    control: form.control,\n    name: \"config.authType\",\n    defaultValue: [\"simple\"],\n  });\n\n  return (\n    <>\n      {showSectionHeading && (\n        \n      )}\n      \n        \n          }\n          fieldId=\"kc-ui-connection-url\"\n          isRequired\n          validated={\n            (form.formState.errors.config as any)?.connectionUrl?.[0]\n              ? \"error\"\n              : \"default\"\n          }\n          helperTextInvalid={\n            (form.formState.errors.config as any)?.connectionUrl?.[0].message\n          }\n        >\n          \n        \n        \n          }\n          fieldId=\"kc-enable-start-tls\"\n          hasNoPaddingTop\n        >\n           (\n               field.onChange([`${value}`])}\n                isChecked={field.value[0] === \"true\"}\n                label={t(\"common:on\")}\n                labelOff={t(\"common:off\")}\n                aria-label={t(\"enableStartTls\")}\n              />\n            )}\n          >\n        \n\n        \n          }\n          fieldId=\"kc-use-truststore-spi\"\n        >\n           (\n              \n                  setIsTruststoreSpiDropdownOpen(!isTruststoreSpiDropdownOpen)\n                }\n                isOpen={isTruststoreSpiDropdownOpen}\n                onSelect={(_, value) => {\n                  field.onChange(value.toString());\n                  setIsTruststoreSpiDropdownOpen(false);\n                }}\n                selections={field.value}\n              >\n                {t(\"always\")}\n                {t(\"never\")}\n              \n            )}\n          >\n        \n        \n          }\n          fieldId=\"kc-connection-pooling\"\n          hasNoPaddingTop\n        >\n           (\n               field.onChange([`${value}`])}\n                isChecked={field.value[0] === \"true\"}\n                label={t(\"common:on\")}\n                labelOff={t(\"common:off\")}\n                aria-label={t(\"connectionPooling\")}\n              />\n            )}\n          >\n        \n        \n          }\n          fieldId=\"kc-ui-connection-timeout\"\n        >\n          \n        \n        \n           testLdap(\"testConnection\")}\n          >\n            {t(\"common:testConnection\")}\n          \n        \n        \n          }\n          fieldId=\"kc-bind-type\"\n          isRequired\n        >\n           (\n              \n                  setIsBindTypeDropdownOpen(!isBindTypeDropdownOpen)\n                }\n                isOpen={isBindTypeDropdownOpen}\n                onSelect={(_, value) => {\n                  field.onChange(value as string);\n                  setIsBindTypeDropdownOpen(false);\n                }}\n                selections={field.value}\n                variant={SelectVariant.single}\n                data-testid=\"ldap-bind-type\"\n              >\n                \n                \n              \n            )}\n          >\n        \n\n        {isEqual(ldapBindType, [\"simple\"]) && (\n          <>\n            \n              }\n              fieldId=\"kc-ui-bind-dn\"\n              helperTextInvalid={t(\"validateBindDn\")}\n              validated={\n                (form.formState.errors.config as any)?.bindDn\n                  ? ValidatedOptions.error\n                  : ValidatedOptions.default\n              }\n              isRequired\n            >\n              \n            \n            \n              }\n              fieldId=\"kc-ui-bind-credentials\"\n              helperTextInvalid={t(\"validateBindCredentials\")}\n              validated={\n                (form.formState.errors.config as any)?.bindCredential\n                  ? ValidatedOptions.error\n                  : ValidatedOptions.default\n              }\n              isRequired\n            >\n              \n            \n          \n        )}\n        \n           testLdap(\"testAuthentication\")}\n          >\n            {t(\"testAuthentication\")}\n          \n        \n      \n    \n  );\n};\n","import { Button, FormGroup, Switch } from \"@patternfly/react-core\";\nimport { Controller, UseFormReturn } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { HelpItem } from \"ui-shared\";\n\nimport { adminClient } from \"../../admin-client\";\nimport { useAlerts } from \"../../components/alert/Alerts\";\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport { WizardSectionHeader } from \"../../components/wizard-section-header/WizardSectionHeader\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\nimport { convertFormToSettings } from \"./LdapSettingsConnection\";\n\nexport type LdapSettingsAdvancedProps = {\n  id?: string;\n  form: UseFormReturn;\n  showSectionHeading?: boolean;\n  showSectionDescription?: boolean;\n};\n\nconst PASSWORD_MODIFY_OID = \"1.3.6.1.4.1.4203.1.11.1\";\n\nexport const LdapSettingsAdvanced = ({\n  id,\n  form,\n  showSectionHeading = false,\n  showSectionDescription = false,\n}: LdapSettingsAdvancedProps) => {\n  const { t } = useTranslation(\"user-federation\");\n  const { t: helpText } = useTranslation(\"user-federation-help\");\n\n  const { realm } = useRealm();\n  const { addAlert, addError } = useAlerts();\n\n  const testLdap = async () => {\n    if (!(await form.trigger())) return;\n    try {\n      const settings = convertFormToSettings(form);\n      const ldapOids = await adminClient.realms.ldapServerCapabilities(\n        { realm },\n        { ...settings, componentId: id },\n      );\n      addAlert(t(\"testSuccess\"));\n      const passwordModifyOid = ldapOids.filter(\n        (id: { oid: string }) => id.oid === PASSWORD_MODIFY_OID,\n      );\n      form.setValue(\"config.usePasswordModifyExtendedOp\", [\n        (passwordModifyOid.length > 0).toString(),\n      ]);\n    } catch (error) {\n      addError(\"user-federation:testError\", error);\n    }\n  };\n\n  return (\n    <>\n      {showSectionHeading && (\n        \n      )}\n\n      \n        \n          }\n          fieldId=\"kc-enable-ldapv3-password\"\n          hasNoPaddingTop\n        >\n           (\n               field.onChange([`${value}`])}\n                isChecked={field.value[0] === \"true\"}\n                label={t(\"common:on\")}\n                labelOff={t(\"common:off\")}\n                aria-label={t(\"enableLdapv3Password\")}\n              />\n            )}\n          >\n        \n\n        \n          }\n          fieldId=\"kc-validate-password-policy\"\n          hasNoPaddingTop\n        >\n           (\n               field.onChange([`${value}`])}\n                isChecked={field.value[0] === \"true\"}\n                label={t(\"common:on\")}\n                labelOff={t(\"common:off\")}\n                aria-label={t(\"validatePasswordPolicy\")}\n              />\n            )}\n          >\n        \n\n        \n          }\n          fieldId=\"kc-trust-email\"\n          hasNoPaddingTop\n        >\n           (\n               field.onChange([`${value}`])}\n                isChecked={field.value[0] === \"true\"}\n                label={t(\"common:on\")}\n                labelOff={t(\"common:off\")}\n                aria-label={t(\"trustEmail\")}\n              />\n            )}\n          >\n        \n        \n          \n            {t(\"queryExtensions\")}\n          \n        \n      \n    \n  );\n};\n","import ComponentRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/componentRepresentation\";\nimport {\n  FormGroup,\n  Select,\n  SelectOption,\n  SelectVariant,\n} from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { Controller, UseFormReturn } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { HelpItem } from \"ui-shared\";\n\nimport { adminClient } from \"../../admin-client\";\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport { KeycloakTextInput } from \"../../components/keycloak-text-input/KeycloakTextInput\";\nimport { WizardSectionHeader } from \"../../components/wizard-section-header/WizardSectionHeader\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\nimport { useFetch } from \"../../utils/useFetch\";\n\nexport type LdapSettingsGeneralProps = {\n  form: UseFormReturn;\n  showSectionHeading?: boolean;\n  showSectionDescription?: boolean;\n  vendorEdit?: boolean;\n};\n\nexport const LdapSettingsGeneral = ({\n  form,\n  showSectionHeading = false,\n  showSectionDescription = false,\n  vendorEdit = false,\n}: LdapSettingsGeneralProps) => {\n  const { t } = useTranslation(\"user-federation\");\n  const { t: helpText } = useTranslation(\"user-federation-help\");\n  const { realm } = useRealm();\n\n  useFetch(\n    () => adminClient.realms.findOne({ realm }),\n    (result) => form.setValue(\"parentId\", result!.id),\n    [],\n  );\n  const [isVendorDropdownOpen, setIsVendorDropdownOpen] = useState(false);\n\n  const setVendorDefaultValues = () => {\n    switch (form.getValues(\"config.vendor[0]\")) {\n      case \"ad\":\n        form.setValue(\"config.usernameLDAPAttribute[0]\", \"cn\");\n        form.setValue(\"config.rdnLDAPAttribute[0]\", \"cn\");\n        form.setValue(\"config.uuidLDAPAttribute[0]\", \"objectGUID\");\n        form.setValue(\"config.krbPrincipalAttribute[0]\", \"userPrincipalName\");\n        form.setValue(\n          \"config.userObjectClasses[0]\",\n          \"person, organizationalPerson, user\",\n        );\n        break;\n      case \"rhds\":\n        form.setValue(\"config.usernameLDAPAttribute[0]\", \"uid\");\n        form.setValue(\"config.rdnLDAPAttribute[0]\", \"uid\");\n        form.setValue(\"config.uuidLDAPAttribute[0]\", \"nsuniqueid\");\n        form.setValue(\"config.krbPrincipalAttribute[0]\", \"krbPrincipalName\");\n        form.setValue(\n          \"config.userObjectClasses[0]\",\n          \"inetOrgPerson, organizationalPerson\",\n        );\n        break;\n      case \"tivoli\":\n        form.setValue(\"config.usernameLDAPAttribute[0]\", \"uid\");\n        form.setValue(\"config.rdnLDAPAttribute[0]\", \"uid\");\n        form.setValue(\"config.uuidLDAPAttribute[0]\", \"uniqueidentifier\");\n        form.setValue(\"config.krbPrincipalAttribute[0]\", \"krb5PrincipalName\");\n        form.setValue(\n          \"config.userObjectClasses[0]\",\n          \"inetOrgPerson, organizationalPerson\",\n        );\n        break;\n      case \"edirectory\":\n        form.setValue(\"config.usernameLDAPAttribute[0]\", \"uid\");\n        form.setValue(\"config.rdnLDAPAttribute[0]\", \"uid\");\n        form.setValue(\"config.uuidLDAPAttribute[0]\", \"guid\");\n        form.setValue(\"config.krbPrincipalAttribute[0]\", \"krb5PrincipalName\");\n        form.setValue(\n          \"config.userObjectClasses[0]\",\n          \"inetOrgPerson, organizationalPerson\",\n        );\n        break;\n      case \"other\":\n        form.setValue(\"config.usernameLDAPAttribute[0]\", \"uid\");\n        form.setValue(\"config.rdnLDAPAttribute[0]\", \"uid\");\n        form.setValue(\"config.uuidLDAPAttribute[0]\", \"entryUUID\");\n        form.setValue(\"config.krbPrincipalAttribute[0]\", \"krb5PrincipalName\");\n        form.setValue(\n          \"config.userObjectClasses[0]\",\n          \"inetOrgPerson, organizationalPerson\",\n        );\n        break;\n      default:\n        return \"\";\n    }\n  };\n\n  return (\n    <>\n      {showSectionHeading && (\n        \n      )}\n      \n        \n          }\n          fieldId=\"kc-ui-display-name\"\n          isRequired\n          validated={form.formState.errors.name ? \"error\" : \"default\"}\n          helperTextInvalid={form.formState.errors.name?.message}\n        >\n          {/* These hidden fields are required so data object written back matches data retrieved */}\n          \n          \n          \n          \n        \n        \n          }\n          fieldId=\"kc-vendor\"\n          isRequired\n        >\n           (\n               setIsVendorDropdownOpen(!isVendorDropdownOpen)}\n                isOpen={isVendorDropdownOpen}\n                onSelect={(_, value) => {\n                  field.onChange(value as string);\n                  setIsVendorDropdownOpen(false);\n                  setVendorDefaultValues();\n                }}\n                selections={field.value}\n                variant={SelectVariant.single}\n              >\n                \n                  Active Directory\n                \n                \n                  Red Hat Directory Server\n                \n                \n                  Tivoli\n                \n                \n                  Novell eDirectory\n                \n                \n                  Other\n                \n              \n            )}\n          >\n        \n      \n    \n  );\n};\n","import { FormGroup, Switch } from \"@patternfly/react-core\";\nimport { Controller, UseFormReturn, useWatch } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport { HelpItem } from \"ui-shared\";\nimport { KeycloakTextInput } from \"../../components/keycloak-text-input/KeycloakTextInput\";\nimport { WizardSectionHeader } from \"../../components/wizard-section-header/WizardSectionHeader\";\n\nexport type LdapSettingsKerberosIntegrationProps = {\n  form: UseFormReturn;\n  showSectionHeading?: boolean;\n  showSectionDescription?: boolean;\n};\n\nexport const LdapSettingsKerberosIntegration = ({\n  form,\n  showSectionHeading = false,\n  showSectionDescription = false,\n}: LdapSettingsKerberosIntegrationProps) => {\n  const { t } = useTranslation(\"user-federation\");\n  const { t: helpText } = useTranslation(\"user-federation-help\");\n\n  const allowKerberosAuth: [string] = useWatch({\n    control: form.control,\n    name: \"config.allowKerberosAuthentication\",\n    defaultValue: [\"false\"],\n  });\n\n  return (\n    <>\n      {showSectionHeading && (\n        \n      )}\n\n      \n        \n          }\n          fieldId=\"kc-allow-kerberos-authentication\"\n          hasNoPaddingTop\n        >\n           (\n               field.onChange([`${value}`])}\n                isChecked={field.value[0] === \"true\"}\n                label={t(\"common:on\")}\n                labelOff={t(\"common:off\")}\n                aria-label={t(\"allowKerberosAuthentication\")}\n              />\n            )}\n          >\n        \n\n        {allowKerberosAuth[0] === \"true\" && (\n          <>\n            \n              }\n              fieldId=\"kc-kerberos-realm\"\n              isRequired\n              validated={\n                (form.formState.errors.config as any)?.kerberosRealm?.[0]\n                  ? \"error\"\n                  : \"default\"\n              }\n              helperTextInvalid={\n                (form.formState.errors.config as any)?.kerberosRealm?.[0]\n                  .message\n              }\n            >\n              \n            \n\n            \n              }\n              fieldId=\"kc-server-principal\"\n              isRequired\n              validated={\n                (form.formState.errors.config as any)?.serverPrincipal?.[0]\n                  ? \"error\"\n                  : \"default\"\n              }\n              helperTextInvalid={\n                (form.formState.errors.config as any)?.serverPrincipal?.[0]\n                  .message\n              }\n            >\n              \n            \n\n            \n              }\n              fieldId=\"kc-key-tab\"\n              isRequired\n              validated={\n                (form.formState.errors.config as any)?.keyTab?.[0]\n                  ? \"error\"\n                  : \"default\"\n              }\n              helperTextInvalid={\n                (form.formState.errors.config as any)?.keyTab?.[0].message\n              }\n            >\n              \n            \n\n            \n              }\n              fieldId=\"kc-krb-principal-attribute\"\n              validated={\n                (form.formState.errors.config as any)\n                  ?.krbPrincipalAttribute?.[0]\n                  ? \"error\"\n                  : \"default\"\n              }\n              helperTextInvalid={\n                (form.formState.errors.config as any)\n                  ?.krbPrincipalAttribute?.[0].message\n              }\n            >\n              \n            \n\n            \n              }\n              fieldId=\"kc-debug\"\n              hasNoPaddingTop\n            >\n              {\" \"}\n               (\n                   field.onChange([`${value}`])}\n                    isChecked={field.value[0] === \"true\"}\n                    label={t(\"common:on\")}\n                    labelOff={t(\"common:off\")}\n                    aria-label={t(\"debug\")}\n                  />\n                )}\n              >\n            \n          \n        )}\n        \n          }\n          fieldId=\"kc-use-kerberos-password-authentication\"\n          hasNoPaddingTop\n        >\n           (\n               field.onChange([`${value}`])}\n                isChecked={field.value[0] === \"true\"}\n                label={t(\"common:on\")}\n                labelOff={t(\"common:off\")}\n                aria-label={t(\"useKerberosForPasswordAuthentication\")}\n              />\n            )}\n          >\n        \n      \n    \n  );\n};\n","import {\n  FormGroup,\n  Select,\n  SelectOption,\n  SelectVariant,\n  Switch,\n} from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { Controller, UseFormReturn } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport { HelpItem } from \"ui-shared\";\nimport { KeycloakTextInput } from \"../../components/keycloak-text-input/KeycloakTextInput\";\nimport { WizardSectionHeader } from \"../../components/wizard-section-header/WizardSectionHeader\";\n\nexport type LdapSettingsSearchingProps = {\n  form: UseFormReturn;\n  showSectionHeading?: boolean;\n  showSectionDescription?: boolean;\n};\n\nexport const LdapSettingsSearching = ({\n  form,\n  showSectionHeading = false,\n  showSectionDescription = false,\n}: LdapSettingsSearchingProps) => {\n  const { t } = useTranslation(\"user-federation\");\n  const { t: helpText } = useTranslation(\"user-federation-help\");\n\n  const [isSearchScopeDropdownOpen, setIsSearchScopeDropdownOpen] =\n    useState(false);\n  const [isEditModeDropdownOpen, setIsEditModeDropdownOpen] = useState(false);\n\n  return (\n    <>\n      {showSectionHeading && (\n        \n      )}\n\n      \n        \n          }\n          fieldId=\"kc-edit-mode\"\n          isRequired\n          validated={\n            (form.formState.errors.config as any)?.editMode?.[0]\n              ? \"error\"\n              : \"default\"\n          }\n          helperTextInvalid={\n            (form.formState.errors.config as any)?.editMode?.[0].message\n          }\n        >\n           (\n              \n                  setIsEditModeDropdownOpen(!isEditModeDropdownOpen)\n                }\n                isOpen={isEditModeDropdownOpen}\n                onSelect={(_, value) => {\n                  field.onChange(value.toString());\n                  setIsEditModeDropdownOpen(false);\n                }}\n                selections={field.value}\n                variant={SelectVariant.single}\n                validated={\n                  (form.formState.errors.config as any)?.editMode?.[0]\n                    ? \"error\"\n                    : \"default\"\n                }\n              >\n                \n                \n                \n                \n              \n            )}\n          />\n        \n        \n          }\n          fieldId=\"kc-ui-users-dn\"\n          isRequired\n          validated={\n            (form.formState.errors.config as any)?.usersDn?.[0]\n              ? \"error\"\n              : \"default\"\n          }\n          helperTextInvalid={\n            (form.formState.errors.config as any)?.usersDn?.[0].message\n          }\n        >\n          \n        \n        \n          }\n          fieldId=\"kc-username-ldap-attribute\"\n          isRequired\n          validated={\n            (form.formState.errors.config as any)?.usernameLDAPAttribute?.[0]\n              ? \"error\"\n              : \"default\"\n          }\n          helperTextInvalid={\n            (form.formState.errors.config as any)?.usernameLDAPAttribute?.[0]\n              .message\n          }\n        >\n          \n        \n        \n          }\n          fieldId=\"kc-rdn-ldap-attribute\"\n          isRequired\n          validated={\n            (form.formState.errors.config as any)?.rdnLDAPAttribute?.[0]\n              ? \"error\"\n              : \"default\"\n          }\n          helperTextInvalid={\n            (form.formState.errors.config as any)?.rdnLDAPAttribute?.[0].message\n          }\n        >\n          \n        \n        \n          }\n          fieldId=\"kc-uuid-ldap-attribute\"\n          isRequired\n          validated={\n            (form.formState.errors.config as any)?.uuidLDAPAttribute?.[0]\n              ? \"error\"\n              : \"default\"\n          }\n          helperTextInvalid={\n            (form.formState.errors.config as any)?.uuidLDAPAttribute?.[0]\n              .message\n          }\n        >\n          \n        \n        \n          }\n          fieldId=\"kc-user-object-classes\"\n          isRequired\n          validated={\n            (form.formState.errors.config as any)?.userObjectClasses?.[0]\n              ? \"error\"\n              : \"default\"\n          }\n          helperTextInvalid={\n            (form.formState.errors.config as any)?.userObjectClasses?.[0]\n              .message\n          }\n        >\n          \n        \n        \n          }\n          fieldId=\"kc-user-ldap-filter\"\n          validated={\n            (form.formState.errors.config as any)?.customUserSearchFilter?.[0]\n              ? \"error\"\n              : \"default\"\n          }\n          helperTextInvalid={\n            (form.formState.errors.config as any)?.customUserSearchFilter?.[0]\n              .message\n          }\n        >\n          \n        \n\n        \n          }\n          fieldId=\"kc-search-scope\"\n        >\n           (\n              \n                  setIsSearchScopeDropdownOpen(!isSearchScopeDropdownOpen)\n                }\n                isOpen={isSearchScopeDropdownOpen}\n                onSelect={(_, value) => {\n                  field.onChange(value as string);\n                  setIsSearchScopeDropdownOpen(false);\n                }}\n                selections={field.value}\n                variant={SelectVariant.single}\n              >\n                \n                  {t(\"oneLevel\")}\n                \n                \n                  {t(\"subtree\")}\n                \n              \n            )}\n          >\n        \n        \n          }\n          fieldId=\"kc-read-timeout\"\n        >\n          \n        \n        \n          }\n          fieldId=\"kc-ui-pagination\"\n          hasNoPaddingTop\n        >\n           (\n               field.onChange([`${value}`])}\n                isChecked={field.value[0] === \"true\"}\n                label={t(\"common:on\")}\n                labelOff={t(\"common:off\")}\n                aria-label={t(\"pagination\")}\n              />\n            )}\n          >\n        \n      \n    \n  );\n};\n","import { FormGroup, Switch } from \"@patternfly/react-core\";\nimport { Controller, UseFormReturn } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport { HelpItem } from \"ui-shared\";\nimport { KeycloakTextInput } from \"../../components/keycloak-text-input/KeycloakTextInput\";\nimport { WizardSectionHeader } from \"../../components/wizard-section-header/WizardSectionHeader\";\n\nexport type LdapSettingsSynchronizationProps = {\n  form: UseFormReturn;\n  showSectionHeading?: boolean;\n  showSectionDescription?: boolean;\n};\n\nexport const LdapSettingsSynchronization = ({\n  form,\n  showSectionHeading = false,\n  showSectionDescription = false,\n}: LdapSettingsSynchronizationProps) => {\n  const { t } = useTranslation(\"user-federation\");\n  const { t: helpText } = useTranslation(\"user-federation-help\");\n\n  const watchPeriodicSync = form.watch(\"config.periodicFullSync\", false);\n  const watchChangedSync = form.watch(\"config.periodicChangedUsersSync\", false);\n\n  return (\n    <>\n      {showSectionHeading && (\n        \n      )}\n      \n        \n          }\n          fieldId=\"kc-import-users\"\n        >\n           (\n               field.onChange([`${value}`])}\n                isChecked={field.value[0] === \"true\"}\n                isDisabled={false}\n                aria-label={t(\"importUsers\")}\n              />\n            )}\n          >\n        \n        \n          }\n          fieldId=\"syncRegistrations\"\n        >\n           (\n               field.onChange([`${value}`])}\n                isChecked={field.value[0] === \"true\"}\n                aria-label={t(\"syncRegistrations\")}\n              />\n            )}\n          />\n        \n        \n          }\n          fieldId=\"kc-batch-size\"\n        >\n          \n        \n        \n          }\n          fieldId=\"kc-periodic-full-sync\"\n          hasNoPaddingTop\n        >\n           (\n               field.onChange(value)}\n                isChecked={field.value === true}\n                label={t(\"common:on\")}\n                labelOff={t(\"common:off\")}\n                aria-label={t(\"periodicFullSync\")}\n              />\n            )}\n          >\n        \n        {watchPeriodicSync && (\n          \n            }\n            fieldId=\"kc-full-sync-period\"\n          >\n            \n          \n        )}\n        \n          }\n          fieldId=\"kc-periodic-changed-users-sync\"\n          hasNoPaddingTop\n        >\n           (\n               field.onChange(value)}\n                isChecked={field.value === true}\n                label={t(\"common:on\")}\n                labelOff={t(\"common:off\")}\n                aria-label={t(\"periodicChangedUsersSync\")}\n              />\n            )}\n          >\n        \n        {watchChangedSync && (\n          \n            }\n            fieldId=\"kc-changed-users-sync-period\"\n            hasNoPaddingTop\n          >\n            \n          \n        )}\n      \n    \n  );\n};\n","import type ComponentRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/componentRepresentation\";\nimport { Button, Form } from \"@patternfly/react-core\";\nimport { useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\n\nimport { ScrollForm } from \"../components/scroll-form/ScrollForm\";\nimport { useRealm } from \"../context/realm-context/RealmContext\";\nimport useIsFeatureEnabled, { Feature } from \"../utils/useIsFeatureEnabled\";\nimport { LdapSettingsAdvanced } from \"./ldap/LdapSettingsAdvanced\";\nimport { LdapSettingsConnection } from \"./ldap/LdapSettingsConnection\";\nimport { LdapSettingsGeneral } from \"./ldap/LdapSettingsGeneral\";\nimport { LdapSettingsKerberosIntegration } from \"./ldap/LdapSettingsKerberosIntegration\";\nimport { LdapSettingsSearching } from \"./ldap/LdapSettingsSearching\";\nimport { LdapSettingsSynchronization } from \"./ldap/LdapSettingsSynchronization\";\nimport { toUserFederation } from \"./routes/UserFederation\";\nimport { SettingsCache } from \"./shared/SettingsCache\";\nimport { FixedButtonsGroup } from \"../components/form/FixedButtonGroup\";\n\nexport type LdapComponentRepresentation = ComponentRepresentation & {\n  config?: {\n    periodicChangedUsersSync?: boolean;\n    periodicFullSync?: boolean;\n  };\n};\n\nexport type UserFederationLdapFormProps = {\n  id?: string;\n  onSubmit: (formData: LdapComponentRepresentation) => void;\n};\n\nexport const UserFederationLdapForm = ({\n  id,\n  onSubmit,\n}: UserFederationLdapFormProps) => {\n  const { t } = useTranslation(\"user-federation\");\n  const form = useFormContext();\n  const navigate = useNavigate();\n  const { realm } = useRealm();\n  const isFeatureEnabled = useIsFeatureEnabled();\n\n  return (\n    <>\n      ,\n          },\n          {\n            title: t(\"connectionAndAuthenticationSettings\"),\n            panel: ,\n          },\n          {\n            title: t(\"ldapSearchingAndUpdatingSettings\"),\n            panel: ,\n          },\n          {\n            title: t(\"synchronizationSettings\"),\n            panel: ,\n          },\n          {\n            title: t(\"kerberosIntegration\"),\n            panel: ,\n            isHidden: !isFeatureEnabled(Feature.Kerberos),\n          },\n          { title: t(\"cacheSettings\"), panel:  },\n          {\n            title: t(\"advancedSettings\"),\n            panel: ,\n          },\n        ]}\n      />\n      
\n \n navigate(toUserFederation({ realm }))}\n data-testid=\"ldap-cancel\"\n >\n {t(\"common:cancel\")}\n \n \n \n \n );\n};\n\nexport function serializeFormData(\n formData: LdapComponentRepresentation,\n): LdapComponentRepresentation {\n const { config } = formData;\n\n if (config?.periodicChangedUsersSync !== undefined) {\n if (config.periodicChangedUsersSync === false) {\n config.changedSyncPeriod = [\"-1\"];\n }\n delete config.periodicChangedUsersSync;\n }\n\n if (config?.periodicFullSync !== undefined) {\n if (config.periodicFullSync === false) {\n config.fullSyncPeriod = [\"-1\"];\n }\n delete config.periodicFullSync;\n }\n\n return formData;\n}\n"],"names":["testLdapProperties","convertFormToSettings","form","settings","key","value","get","LdapSettingsConnection","id","showSectionHeading","showSectionDescription","t","useTranslation","helpText","realm","useRealm","addAlert","addError","useAlerts","edit","testLdap","testType","adminClient","AlertVariant","error","isTruststoreSpiDropdownOpen","setIsTruststoreSpiDropdownOpen","useState","isBindTypeDropdownOpen","setIsBindTypeDropdownOpen","ldapBindType","useWatch","jsxs","Fragment","jsx","WizardSectionHeader","FormAccess","FormGroup","HelpItem","KeycloakTextInput","Controller","field","Switch","Select","_","SelectOption","Button","SelectVariant","isEqual","ValidatedOptions","PasswordInput","PASSWORD_MODIFY_OID","LdapSettingsAdvanced","ldapOids","passwordModifyOid","LdapSettingsGeneral","vendorEdit","useFetch","result","isVendorDropdownOpen","setIsVendorDropdownOpen","setVendorDefaultValues","LdapSettingsKerberosIntegration","allowKerberosAuth","LdapSettingsSearching","isSearchScopeDropdownOpen","setIsSearchScopeDropdownOpen","isEditModeDropdownOpen","setIsEditModeDropdownOpen","LdapSettingsSynchronization","watchPeriodicSync","watchChangedSync","UserFederationLdapForm","onSubmit","useFormContext","navigate","useNavigate","isFeatureEnabled","useIsFeatureEnabled","ScrollForm","Feature","SettingsCache","Form","FixedButtonsGroup","toUserFederation","serializeFormData","formData","config"],"mappings":"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"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy