Skip to main content
Registre una aplicación en Auth0 importando desde una URL un Documento de metadatos del ID de cliente (CIMD) alojado externamente. Un CIMD es un archivo JSON que contiene metadatos del cliente alojados en su dominio (por ejemplo, https://example-client.com/mcp-metadata.json). La URL del CIMD es el ID de cliente de la aplicación y demuestra la propiedad del dominio, lo que garantiza que solo los administradores de inquilinos de confianza puedan registrar aplicaciones. Cuando importa una aplicación desde su URL de CIMD, Auth0 recupera, valida y almacena los metadatos para registrar la aplicación como cliente CIMD. Aunque Auth0 mantiene un registro de esta configuración, el CIMD alojado sigue siendo la fuente de referencia; las actualizaciones de metadatos se sincronizan mediante actualizaciones manuales. Este proceso de registro de aplicaciones se denomina registro manual de CIMD. Solo puede registrar aplicaciones de terceros con CIMD manual, que están sujetas a controles de seguridad mejorados. Una vez registrada, configure su cliente CIMD como una aplicación de terceros en Auth0.

Beneficios clave

El registro manual de CIMD ofrece las siguientes ventajas:
  1. Utiliza criptografía asimétrica (claves pública/privada) en lugar de secretos simétricos compartidos que podrían filtrarse.
  2. Los propietarios de las aplicaciones administran los metadatos del cliente directamente en el CIMD; Auth0 simplemente obtiene y conserva estas actualizaciones.
  3. El ID de cliente es la URL del CIMD alojada en un dominio HTTPS seguro, que sirve como prueba de propiedad legible por humanos en los registros de auditoría.
Las aplicaciones de terceros, incluidos los clientes CIMD, no son compatibles con Organizaciones. La compatibilidad de Organizaciones para aplicaciones de terceros se incorporará en una versión futura.
Los límites de tasa para los clientes CIMD se incorporarán en una versión futura. Podrá establecer un límite de tasa específico para un cliente CIMD, así como un límite de tasa compartido sobre el tráfico agregado de todos los clientes CIMD en un inquilino.

Casos de uso

Entre los casos de uso habituales del registro manual de CIMD se incluyen:
  • Clientes MCP: Solo deben registrarse en CIMD una vez por implementación. Todas las instancias de esa implementación usan las mismas credenciales de registro. Para obtener más información sobre cómo Auth0 protege a los clientes y servidores MCP, consulte Auth for MCP.
  • Integraciones de terceros: Aplicaciones de partners, plataformas SaaS y servicios externos que autentican usuarios en nombre de organizaciones. Estas aplicaciones administran sus propios metadatos de cliente y claves criptográficas, lo que permite realizar actualizaciones independientes y rotar claves sin compartir secretos.

Ejemplo de CIMD

A continuación, se muestra un ejemplo de CIMD para un cliente MCP público, en el que "token_endpoint_auth_method": "none":
https://example-client.com/mcp-metadata.json
Auth0 mapea y valida automáticamente los campos CIMD. Para obtener más información sobre los tipos de cliente compatibles, consulte Requisitos previos.

Cómo funciona

El siguiente diagrama muestra el flujo manual completo de registro de CIMD:

Fase 1: Registro

Durante el registro manual de CIMD, un administrador del inquilino registra la aplicación importando en Auth0 su CIMD alojado externamente:
  1. Creación de la aplicación: El administrador del inquilino crea una aplicación CIMD en Auth0 de la siguiente manera:
    • Selecciona Import from URL en el Auth0 Dashboard
    • Realiza una solicitud POST al endpoint /register, proporcionando el external_client_id
  2. Obtención de metadatos: Auth0 realiza una solicitud GET al dominio del cliente para recuperar el CIMD (client.json).
  3. Validación de seguridad: Auth0 mapea y valida la URL del CIMD según las reglas de validación de URL de CIMD, y valida el CIMD según las reglas de validación de CIMD, verificando, entre otras cosas, que el external_client_id coincida con la URL del CIMD.
  4. Persistencia: Una vez validado, Auth0 almacena los metadatos del cliente en la base de datos.
  5. Confirmación: Auth0 devuelve una respuesta correcta; la aplicación se ha registrado correctamente como cliente CIMD en Auth0.

Fase 2: Autorización

Una vez registrada, la aplicación usa su URL de CIMD como identificador durante el flujo de OAuth.
  1. Tarea iniciada por el usuario: El usuario inicia una tarea que requiere que la aplicación acceda a una API.
  2. Solicitud de autorización: La aplicación realiza una solicitud al Servidor de autorización de Auth0 y envía su URL de CIMD como client_id.
  3. Resolución del cliente: El Servidor de autorización de Auth0 consulta la base de datos para asociar la URL proporcionada (client_id) con la configuración del cliente almacenada (external_client_id).
  4. Consentimiento del usuario: Auth0 muestra una pantalla de consentimiento al usuario e identifica la aplicación mediante el client_name recuperado de los metadatos de CIMD.
  5. Redirección: Después de que el usuario otorgue su consentimiento, Auth0 redirige al usuario de vuelta a la aplicación con un código de autorización.
  6. Intercambio de código: La aplicación intercambia el código de autorización por un token de acceso en el endpoint de token.
  7. Autorización completada: El Servidor de autorización de Auth0 devuelve un token de acceso donde client_id se establece en la URL de CIMD. La aplicación ahora puede acceder a la API en nombre del usuario.

Requisitos previos

Antes de registrar una aplicación con CIMD manual, asegúrese de que su inquilino y la aplicación cumplan los siguientes requisitos:

Configuración del inquilino

  • Habilitar la compatibilidad con CIMD: Activa la opción Client ID Metadata Document Registration en la configuración del inquilino para indicar la compatibilidad con CIMD en los metadatos del Servidor de autorización de Auth0, lo que permite a los clientes detectar automáticamente esta funcionalidad al conectarse.
    • Ve a Settings > Advanced y desplázate hacia abajo hasta la sección Settings.
    • Activa Client ID Metadata Document Registration.
  • Perfil de compatibilidad del parámetro Resource (opcional): Para los clientes MCP, recomendamos habilitar este perfil en la configuración del inquilino. Esto permite que el servidor de autorización procese solicitudes específicas de recursos (RFC 8707) comprobando el parámetro resource si no se proporciona audience.

Tipos de cliente compatibles

Puede registrar en Auth0 los siguientes tipos de cliente con CIMD manual:

Métodos de autenticación compatibles

Los clientes CIMD no pueden usar métodos de autenticación basados en secretos simétricos compartidos, como client_secret_post, client_secret_basic o client_secret_jwt. Según si el cliente es público o confidencial, Auth0 admite los siguientes métodos de autenticación para clientes CIMD:
  • Clientes públicos:
    • No se requiere autenticación del cliente en el endpoint de token; establezca token_endpoint_auth_method en none en los metadatos del cliente
    • Deben usar Proof Key for Code Exchange (PKCE) en los flujos de autorización
  • Clientes confidenciales:
    • Solo se admite la autenticación mediante Private Key JWT; establezca token_endpoint_auth_method en private_key_jwt en los metadatos del cliente
    • Proporcione un jwks_uri para alojar las claves públicas. El jwks_uri debe compartir exactamente el mismo origen (esquema, host y puerto) que la URL de CIMD. Para obtener más información, consulte las reglas de validación JSON de CIMD.
La autenticación mediante Private Key JWT está disponible solo para clientes Enterprise. Para obtener más información sobre los planes Enterprise, consulte Pricing o póngase en contacto con Auth0 Sales.
Los clientes CIMD que usan la autenticación mediante Private Key JWT deben implementar la rotación de claves generando un nuevo par de claves con un kid nuevo y único.

Registrar aplicaciones con CIMD manual

Al crear una aplicación en Auth0, regístrala manualmente con CIMD mediante el Auth0 Dashboard o la Management API.
Para registrar una aplicación con CIMD manual mediante el Auth0 Dashboard:
  1. Ve a Applications > Applications.
  2. Selecciona Create Application > Import from URL.
  3. Introduce la URL de CIMD. Luego, selecciona Preview. Auth0 valida la URL de CIMD según las reglas de validación de URL de CIMD.
  4. Si la URL de CIMD es válida, Auth0 carga el CIMD y lo valida según las reglas de validación de JSON de CIMD. Revisa la vista previa de los metadatos del cliente y corrige cualquier error de validación.
  5. Selecciona Create.

Configurar el cliente CIMD

El registro manual de CIMD se limita a las aplicaciones de terceros (is_first_party: false), que están sujetas a controles de seguridad mejorados. Una vez que hayas registrado tu cliente CIMD, configúralo como una aplicación de terceros en Auth0: Para obtener más información, consulta Configurar aplicaciones de terceros.

Actualizar los metadatos del cliente

Una vez que hayas registrado el cliente CIMD, puedes actualizar manualmente los metadatos del cliente. Auth0 obtiene los metadatos más recientes del cliente desde el CIMD, que puedes previsualizar y guardar. Cuando actualizas los metadatos del cliente, Auth0 actualiza app_type y grant_types para que coincidan con los valores del CIMD alojado. Para obtener más información sobre los campos de CIMD, consulta Reglas de validación de JSON de CIMD. En el Auth0 Dashboard:
  1. Ve a Applications > Applications y selecciona tu cliente CIMD.
  2. En la esquina superior derecha, selecciona Refresh Client Metadata.
  3. Selecciona Refresh Preview para previsualizar los metadatos más recientes del cliente en el CIMD. Revisa cualquier advertencia o error de validación.
  4. Selecciona Save.

Obtener un cliente CIMD

Para obtener un cliente CIMD, realice una solicitud GET al endpoint /v2/clients/{clientId}, donde {clientID} es el ID de cliente generado por Auth0 asignado al cliente CIMD:
Como alternativa, pase external_client_id o la URL de CIMD como parámetro de consulta al endpoint /v2/clients:
Si la operación se realiza correctamente, Auth0 devuelve una respuesta que incluye la configuración del cliente CIMD con campos como external_client_id, name, callbacks, token_endpoint_auth_method y otros.

Actualizar cliente CIMD

Puede actualizar los campos de la base de datos de Auth0 de un cliente CIMD registrado. Actualizar el cliente CIMD en Auth0 no actualiza automáticamente el CIMD alojado en el dominio de la aplicación. Solo puede actualizar los siguientes campos de los clientes CIMD: Para actualizar un cliente CIMD, haga una solicitud PATCH al endpoint /v2/clients/{clientId}, donde {clientID} es el ID de cliente generado por Auth0 y asignado al cliente CIMD:

Reglas de validación de URL de CIMD

Para superar la validación en Auth0, las URL de CIMD deben cumplir los siguientes requisitos:

Reglas de validación de JSON de CIMD

Auth0 aplica las siguientes reglas de validación de JSON de CIMD:
  • Propiedades no admitidas: Auth0 ignora las propiedades no admitidas durante la asignación y las informa como advertencias en la respuesta de validación.
  • JWKS insertado: No se admite proporcionar un objeto jwks insertado en lugar de un jwks_uri, y esto desencadenará un error invalid_client_metadata.
  • Claves privadas: Se rechazará cualquier JWKS recuperado mediante jwks_uri que contenga material de clave privada (el parámetro d).
  • Seguridad de recuperación: Tanto el documento CIMD como jwks_uri están sujetos a límites de tamaño de 5 KB y 12 KB, respectivamente, y ninguno admite redirecciones HTTP.
Auth0 admite las siguientes propiedades de CIMD:

Consideraciones de seguridad

Rotación de claves del cliente CIMD para la autenticación con private_key_jwt

Para rotar correctamente las claves de clientes CIMD que usan autenticación con Private Key JWT, genere un nuevo par de claves con un kid nuevo y único. Si rota su clave privada y actualiza su JWKS con nuevo material de claves bajo el mismo kid, el registro CIMD de Auth0 rechaza la nueva clave y conserva la anterior. Esto garantiza que la rotación de claves requiera agregar claves nuevas de forma explícita, en lugar de reemplazarlas silenciosamente. Asegúrese de actualizar el registro de sus claves en Auth0 después de rotarlas. Para obtener más información, consulte Rotar claves de firma.