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

theme.keycloak.v2.admin.resources.assets.AddSamlConnect-69759fce.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"AddSamlConnect-69759fce.js","sources":["../../src/identity-providers/add/SamlConnectSettings.tsx","../../src/identity-providers/add/AddSamlConnect.tsx"],"sourcesContent":["import type IdentityProviderRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation\";\nimport { FormGroup, Title } from \"@patternfly/react-core\";\nimport { useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { HelpItem } from \"ui-shared\";\n\nimport { adminClient } from \"../../admin-client\";\nimport { FileUploadForm } from \"../../components/json-file-upload/FileUploadForm\";\nimport { KeycloakTextInput } from \"../../components/keycloak-text-input/KeycloakTextInput\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\nimport environment from \"../../environment\";\nimport { addTrailingSlash } from \"../../util\";\nimport { getAuthorizationHeaders } from \"../../utils/getAuthorizationHeaders\";\nimport { DiscoveryEndpointField } from \"../component/DiscoveryEndpointField\";\nimport { DescriptorSettings } from \"./DescriptorSettings\";\n\ntype FormFields = IdentityProviderRepresentation & {\n  discoveryError: string;\n};\n\nexport const SamlConnectSettings = () => {\n  const { t } = useTranslation(\"identity-providers\");\n  const id = \"saml\";\n\n  const { realm } = useRealm();\n  const {\n    setValue,\n    register,\n    setError,\n    clearErrors,\n    formState: { errors },\n  } = useFormContext();\n\n  const setupForm = (result: IdentityProviderRepresentation) => {\n    Object.entries(result).map(([key, value]) =>\n      setValue(`config.${key}`, value)\n    );\n  };\n\n  const fileUpload = async (xml: string) => {\n    clearErrors(\"discoveryError\");\n    if (!xml) {\n      return;\n    }\n    const formData = new FormData();\n    formData.append(\"providerId\", id);\n    formData.append(\"file\", new Blob([xml]));\n\n    try {\n      const response = await fetch(\n        `${addTrailingSlash(\n          adminClient.baseUrl\n        )}admin/realms/${realm}/identity-provider/import-config`,\n        {\n          method: \"POST\",\n          body: formData,\n          headers: getAuthorizationHeaders(await adminClient.getAccessToken()),\n        }\n      );\n      if (response.ok) {\n        const result = await response.json();\n        setupForm(result);\n      } else {\n        setError(\"discoveryError\", {\n          type: \"manual\",\n          message: response.statusText,\n        });\n      }\n    } catch (error) {\n      setError(\"discoveryError\", {\n        type: \"manual\",\n        message: (error as Error).message,\n      });\n    }\n  };\n\n  return (\n    <>\n      \n        {t(\"samlSettings\")}\n      \n\n      \n        }\n        isRequired\n        helperTextInvalid={t(\"common:required\")}\n        validated={errors.config?.entityId ? \"error\" : \"default\"}\n      >\n        \n      \n\n      \n            }\n            validated={errors.discoveryError ? \"error\" : \"default\"}\n            helperTextInvalid={errors.discoveryError?.message}\n          >\n             fileUpload(value)}\n            />\n          \n        }\n      >\n        {(readonly) => }\n      \n    \n  );\n};\n","import type IdentityProviderRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation\";\nimport {\n  ActionGroup,\n  AlertVariant,\n  Button,\n  PageSection,\n} from \"@patternfly/react-core\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useNavigate } from \"react-router-dom\";\n\nimport { adminClient } from \"../../admin-client\";\nimport { useAlerts } from \"../../components/alert/Alerts\";\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport { ViewHeader } from \"../../components/view-header/ViewHeader\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\nimport { toIdentityProvider } from \"../routes/IdentityProvider\";\nimport { toIdentityProviders } from \"../routes/IdentityProviders\";\nimport { SamlConnectSettings } from \"./SamlConnectSettings\";\nimport { SamlGeneralSettings } from \"./SamlGeneralSettings\";\n\ntype DiscoveryIdentityProvider = IdentityProviderRepresentation & {\n  discoveryEndpoint?: string;\n};\n\nexport default function AddSamlConnect() {\n  const { t } = useTranslation(\"identity-providers\");\n  const navigate = useNavigate();\n  const id = \"saml\";\n\n  const form = useForm({\n    defaultValues: { alias: id, config: { allowCreate: \"true\" } },\n  });\n  const {\n    handleSubmit,\n    formState: { isDirty },\n  } = form;\n\n  const { addAlert, addError } = useAlerts();\n  const { realm } = useRealm();\n\n  const onSubmit = async (provider: DiscoveryIdentityProvider) => {\n    delete provider.discoveryEndpoint;\n    try {\n      await adminClient.identityProviders.create({\n        ...provider,\n        providerId: id,\n      });\n      addAlert(t(\"createSuccess\"), AlertVariant.success);\n      navigate(\n        toIdentityProvider({\n          realm,\n          providerId: id,\n          alias: provider.alias!,\n          tab: \"settings\",\n        })\n      );\n    } catch (error: any) {\n      addError(\"identity-providers:createError\", error);\n    }\n  };\n\n  return (\n    <>\n      \n      \n        \n          \n            \n            \n            \n              \n                {t(\"common:add\")}\n              \n               (\n                  \n                )}\n              >\n                {t(\"common:cancel\")}\n              \n            \n          \n        \n      \n    \n  );\n}\n"],"names":["SamlConnectSettings","useTranslation","id","realm","useRealm","setValue","register","setError","clearErrors","errors","useFormContext","setupForm","result","key","value","fileUpload","xml","formData","response","addTrailingSlash","adminClient","getAuthorizationHeaders","error","jsxs","Fragment","jsx","Title","FormGroup","HelpItem","KeycloakTextInput","environment","DiscoveryEndpointField","FileUploadForm","readonly","DescriptorSettings","AddSamlConnect","navigate","useNavigate","form","useForm","handleSubmit","isDirty","addAlert","addError","useAlerts","onSubmit","provider","AlertVariant","toIdentityProvider","ViewHeader","PageSection","FormProvider","FormAccess","SamlGeneralSettings","ActionGroup","Button","props","Link","toIdentityProviders"],"mappings":"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"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy