From 558405dc3f35ab6e153ae485efdd718cf6bbf20e Mon Sep 17 00:00:00 2001 From: Jon Koops Date: Mon, 17 Jul 2023 16:58:02 +0200 Subject: [PATCH] Fall back to `IdentityProvider` component type if present (#21738) Backports #15344 Co-authored-by: Erik Jan de Wit --- .../add/AddIdentityProvider.tsx | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/js/apps/admin-ui/src/identity-providers/add/AddIdentityProvider.tsx b/js/apps/admin-ui/src/identity-providers/add/AddIdentityProvider.tsx index f14e305b8d6..94c0d0df41c 100644 --- a/js/apps/admin-ui/src/identity-providers/add/AddIdentityProvider.tsx +++ b/js/apps/admin-ui/src/identity-providers/add/AddIdentityProvider.tsx @@ -28,13 +28,24 @@ export default function AddIdentityProvider() { const { providerId } = useParams(); const form = useForm(); const serverInfo = useServerInfo(); - const providerInfo = useMemo( - () => - serverInfo.componentTypes?.[ - "org.keycloak.broker.social.SocialIdentityProvider" - ]?.find((p) => p.id === providerId), - [serverInfo, providerId] - ); + + const providerInfo = useMemo(() => { + const namespaces = [ + "org.keycloak.broker.social.SocialIdentityProvider", + "org.keycloak.broker.provider.IdentityProvider", + ]; + + for (const namespace of namespaces) { + const social = serverInfo.componentTypes?.[namespace]?.find( + ({ id }) => id === providerId + ); + + if (social) { + return social; + } + } + }, [serverInfo, providerId]); + const { handleSubmit, formState: { isDirty },