SsoProviderEdit ofrece una interfaz unificada para editar proveedores de Single Sign-On.
- React
- Next.js
- shadcn
Requisitos de configuración
Se requiere la configuración de Auth0 - Asegúrate de que tu tenant esté configurado con la
API de My Organization. Ver la guía de configuración
→
Instalación
Al ejecutar cualquiera de los dos comandos, también se instala la dependencia @auth0/universal-components-core
para utilidades compartidas y la integración con Auth0.
Primeros pasos
Ejemplo de integración completa
Ejemplo de integración completa
Props
Props obligatorias
Las props requeridas son fundamentales para el funcionamiento del componente.SsoProviderEdit requiere el ID del proveedor para cargar y editar el proveedor correcto.| Propiedad | Tipo | Descripción |
|---|---|---|
providerId | string | Obligatorio. ID del proveedor de SSO que se va a editar. |
Props de visualización
Las props de visualización controlan cómo se renderiza el componente sin afectar su comportamiento.| Propiedad | Tipo | Descripción |
|---|---|---|
hideHeader | boolean | Oculta la sección de encabezado. Valor predeterminado: false |
Props de acción
Las interacciones del usuario en las tres pestañas se gestionan mediante varias props de acción organizadas bajo el nombre de la pestaña correspondiente (sso, provisioning y domains).| Propiedad | Tipo | Descripción |
|---|---|---|
backButton | Object | Configuración del botón de retroceso. |
sso | SsoProviderTabEditProps | Acciones de la pestaña de SSO. Detalles |
provisioning | SsoProvisioningTabEditProps | Acciones de la pestaña de aprovisionamiento. Detalles |
domains | SsoDomainsTabEditProps | Acciones de la pestaña de dominios. Detalles |
{ icon?: LucideIcon; onClick: (e: MouseEvent) => void }Configura el botón de retroceso en el encabezado del componente. Úsalo para volver a tu lista de proveedores.Propiedades:icon- Componente de icono personalizado de Lucide (opcional; por defecto, ArrowLeft)onClick- Manejador de clic para la navegación
Acciones de la pestaña SSO
La propsso configura las acciones para la pestaña de configuración de SSO. Esta pestaña gestiona la configuración de autenticación del proveedor.| Acción | Tipo | Descripción |
|---|---|---|
updateAction | ComponentAction<IdentityProvider, IdentityProvider> | Actualiza la configuración del proveedor. |
deleteAction | ComponentAction<IdentityProvider> | Elimina el proveedor permanentemente. |
removeFromOrganizationAction | ComponentAction<IdentityProvider> | Lo quita de la organización. |
ComponentAction<IdentityProvider, IdentityProvider>Controla el guardado de cambios en la configuración del proveedor (ID de cliente, secretos, certificados, etc.).Propiedades:disabled- Deshabilita el botón GuardaronBefore(provider)- Se ejecuta antes de la actualización. Devuelvefalsepara impedir que se guarde (p. ej., para mostrar un cuadro de diálogo de confirmación).onAfter(provider, result)- Se ejecuta después de que el proveedor se haya actualizado correctamente. Úsalo para mostrar una notificación o registrar el evento.
sso.deleteActionType:
ComponentAction<IdentityProvider>Controla la eliminación permanente del proveedor de tu tenant de Auth0.Ejemplo:sso.removeFromOrganizationActionType:
ComponentAction<IdentityProvider>Controla la eliminación del proveedor de la organización sin borrarlo. El proveedor seguirá disponible para volver a añadirse más adelante.Ejemplo:Acciones de la pestaña de aprovisionamiento
La propiedadprovisioning configura las acciones para la pestaña de aprovisionamiento SCIM. Esta pestaña gestiona el aprovisionamiento automatizado de usuarios a través del protocolo SCIM.| Acción | Tipo | Descripción |
|---|---|---|
createAction | ComponentAction<IdentityProvider,
CreateIdPProvisioningConfigResponseContent> | Habilita el aprovisionamiento SCIM. |
deleteAction | ComponentAction<IdentityProvider> | Deshabilita el aprovisionamiento SCIM. |
createScimTokenAction | ComponentAction<IdentityProvider,
CreateIdpProvisioningScimTokenResponseContent> | Genera un token SCIM. |
deleteScimTokenAction | ComponentAction<IdentityProvider> | Revoca el token SCIM. |
ComponentAction<IdentityProvider, CreateIdPProvisioningConfigResponseContent>Habilita el aprovisionamiento SCIM para el proveedor. Una vez habilitado, puedes generar un token SCIM para que lo use tu proveedor de identidad.Ejemplo:provisioning.deleteActionType:
ComponentAction<IdentityProvider>Deshabilita el aprovisionamiento SCIM y elimina toda la configuración de aprovisionamiento para ese proveedor de identidad.Ejemplo:provisioning.createScimTokenActionType:
ComponentAction<IdentityProvider, CreateIdpProvisioningScimTokenResponseContent>Genera un nuevo token SCIM de portador para que tu proveedor de identidad se autentique con Auth0.Ejemplo:provisioning.deleteScimTokenActionType:
ComponentAction<IdentityProvider>Revoca el token SCIM. El proveedor de identidad no podrá sincronizar usuarios hasta que se genere un nuevo token.Ejemplo:Acciones de la pestaña Dominios
La propdomains configura las acciones para la pestaña de dominios. Esta pestaña administra los dominios asociados al proveedor para el enrutamiento automático de usuarios.| Acción | Tipo | Descripción |
|---|---|---|
createAction | ComponentAction<Domain> | Añade un dominio. |
verifyAction | ComponentAction<Domain> | Verifica la titularidad del dominio. |
deleteAction | ComponentAction<Domain> | Elimina un dominio. |
associateToProviderAction | ComponentAction<Domain, IdentityProvider | null> | Asocia el dominio con el proveedor. |
deleteFromProviderAction | ComponentAction<Domain, IdentityProvider | null> | Quita el dominio del proveedor. |
ComponentAction<Domain>Controla la adición de nuevos dominios a la organización desde la interfaz de edición del proveedor.Ejemplo:domains.verifyActionType:
ComponentAction<Domain>Controla la verificación de dominio mediante un registro TXT de DNS.Ejemplo:domains.deleteActionType:
ComponentAction<Domain>Controla la eliminación de dominios.Ejemplo:domains.associateToProviderActionType:
ComponentAction<Domain, IdentityProvider | null>Asocia un dominio verificado con este proveedor de SSO para el enrutamiento automático de usuarios.Ejemplo:domains.deleteFromProviderActionType:
ComponentAction<Domain, IdentityProvider | null>Elimina la asociación de un dominio con este proveedor.Props de personalización
Las props de personalización te permiten adaptar el componente a tu marca, idioma regional y requisitos de validación sin modificar el código fuente.| Prop | Tipo | Descripción |
|---|---|---|
schema | SsoProviderEditSchema | Reglas de validación de campos. |
customMessages | Partial<SsoProviderEditMessages> | Sobrescrituras de textos de i18n. |
styling | ComponentStyling<SsoProviderEditClasses> | Variables CSS y sobrescrituras de clases. |
Campos de esquema disponibles
Campos de esquema disponibles
Todos los campos del esquema admiten:
regex, errorMessage, minLength, maxLength, requiredprovider.* - Campos de configuración del proveedor según la estrategia- Comunes:
name,displayName - Campos específicos de la estrategia (los mismos que en SsoProviderCreate)
customMessagesPersonaliza todos los textos y traducciones. Todos los campos son opcionales y, si no se completan, se usarán los valores predeterminados.
Mensajes disponibles
Mensajes disponibles
header - Encabezado del componente
title,back_button_text
sso,provisioning,domains
title,descriptionfields.*- Etiquetas de los campos del formulario según la estrategiaactions.save_button_text,actions.delete_button_textdelete_modal.*,remove_modal.*
title,descriptionscim_endpoint.label,scim_token.labelactions.enable_button_text,actions.disable_button_textactions.generate_token_button_text,actions.revoke_token_button_text
title,description- La misma estructura que los mensajes de DomainTable
provider_update_success,provider_delete_successprovisioning_enable_success,provisioning_disable_successscim_token_create_success,scim_token_delete_success- Notificaciones relacionadas con los dominios
stylingPersonaliza la apariencia con variables CSS y sobreescritura de clases. Compatible con estilos según el tema.
Opciones de estilo disponibles
Opciones de estilo disponibles
Variables - propiedades personalizadas de CSS
common- Se aplica a todos los temaslight- Solo para el tema clarodark- Solo para el tema oscuro
SsoProviderEdit-headerSsoProviderEdit-tabsSsoProviderEdit-ssoTabSsoProviderEdit-provisioningTabSsoProviderEdit-domainsTab
Personalización avanzada
El componenteSsoProviderEdit está compuesto por subcomponentes y hooks más pequeños. Puedes importarlos individualmente para crear flujos de trabajo de edición de proveedores personalizados si usas shadcn.Subcomponentes disponibles
Para casos de uso avanzados, puedes importar subcomponentes individuales para insertar pestañas o secciones específicas en distintos contextos.| Componente | Descripción |
|---|---|
SsoProviderSsoTab | Formulario de configuración de SSO |
SsoProviderProvisioningTab | Gestión del aprovisionamiento de SCIM |
SsoProviderDomainsTab | Gestión de la asociación de dominios |
ProviderConfigureFields | Campos de formulario dinámicos según la estrategia |
ScimTokenDisplay | Visualización del token de SCIM con función de copia |
Hooks disponibles
Estos hooks proporcionan la lógica subyacente sin ninguna interfaz de usuario. Úsalos para crear interfaces completamente personalizadas y aprovechar la integración con la API de Auth0.| Hook | Descripción |
|---|---|
useSsoProviderEdit | Lógica de carga y actualización del proveedor |
useSsoProviderProvisioning | Gestión del aprovisionamiento de SCIM |
useSsoProviderDomains | Gestión de asociaciones de dominios |