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 },