Conceptos clave
Parámetro de dominio
domain que especifica qué dominio de Auth0 se usará para la autenticación. Si usa dominios personalizados, establezca este parámetro en su dominio personalizado en lugar del dominio canónico de Auth0.
Sin dominio personalizado:
Emisor del token
iss (emisor) configurada con su dominio personalizado:
SDK de autenticación
Al usar MCD, el cliente es responsable de proporcionar y validar todos los dominios personalizados. Al configurar los SDK para resolver los dominios personalizados del Tenant mediante las funciones de resolución de dominios, usted es responsable de garantizar que todos los dominios resueltos sean de confianza. Una configuración incorrecta del resolvedor de dominios puede permitir la omisión de la autenticación en la relying party o exponer la aplicación a falsificación de solicitudes del lado del servidor. No configurar correctamente sus dominios y servidores proxy puede generar vulnerabilidades críticas de seguridad por las que Okta no asume ninguna responsabilidad.
SDK SPA de Auth0 (JavaScript)
Next.js
- Un solo Tenant de Auth0, varios dominios: Todos los dominios personalizados comparten el mismo
clientIdyclientSecret, ya que pertenecen al mismo Tenant de Auth0. - Función DomainResolver: El parámetro
domainacepta una función(config: { headers: Headers; url?: URL }) => Promise<string> | string. Esto permite resolver el dominio dinámicamente para cada solicitud en función de los encabezados de la solicitud entrante. - Almacenamiento en caché de instancias: El SDK almacena automáticamente en caché las instancias de
Auth0Clientpor dominio mediante una caché LRU acotada (máximo 100 entradas) para mejorar el rendimiento. - Aislamiento de sesiones: Las sesiones creadas a través de un dominio personalizado quedan aisladas en ese dominio y no pueden usarse indistintamente con sesiones de otro dominio.
- Parámetro URL: El parámetro
urldel resolvedor esundefineden Server Components y Server Actions; solo está disponible en middleware o rutas de API. - Ajuste de la caché de descubrimiento: Configura el almacenamiento en caché de los metadatos de OIDC con la opción
discoveryCache:
SDK de React de Auth0
Auth0.js
Node.js (Express)
SDK para móviles
iOS (Swift)
Android (Kotlin)
React Native
Flutter
SDK de administración
auth0-custom-domain o usar el dominio predeterminado.
SDK de administración de Node.js
SDK de administración para Python
SDK de administración para Go
Validación de tokens
Node.js (Express)
Python (Flask)
Java (Spring Boot)
Configuración específica del entorno
Estructura del archivo .env
Carga de la configuración
Solución de problemas
Problemas comunes
| Problema | Causa | Solución |
|---|---|---|
| Error de emisor no válido | La validación del token espera el dominio canónico, pero recibe un dominio personalizado | Actualiza la validación del token para que acepte el dominio personalizado como emisor |
| Error al obtener el JWKS | El URI del JWKS apunta al dominio canónico | Actualiza el URI del JWKS para usar el dominio personalizado: https://custom-domain/.well-known/jwks.json |
| Incompatibilidad del URI de redirección | La URL de callback no coincide con los URI de redirección configurados | Agrega la URL de callback del dominio personalizado a la configuración de la aplicación |
| Errores de origen cruzado (CORS) | El dominio personalizado no está entre los orígenes permitidos | Agrega el dominio personalizado a Allowed Web Origins en la configuración de la aplicación |
| Lock no se carga | Falta configurationBaseUrl | Agrega el parámetro configurationBaseUrl con la URL regional del CDN |
Prácticas recomendadas
- Usa variables de entorno: Almacena los dominios personalizados en archivos de configuración específicos de cada entorno
- Valida varios emisores: Si usas varios dominios personalizados, configura la validación de tokens para aceptar todos como emisores válidos
- Actualiza las URL de callback: Asegúrate de agregar todos los dominios personalizados a Allowed Callback URLs en la configuración de la aplicación
- Haz pruebas exhaustivas: Prueba la autenticación con cada dominio personalizado antes de pasar a producción
- Supervisa los emisores de tokens: Registra y supervisa el claim
issen los tokens para garantizar que se use el dominio personalizado correcto - Documenta las asignaciones de dominios: Mantén una documentación clara sobre qué aplicaciones usan qué dominios personalizados
- Gestiona los fallos correctamente: Implementa un manejo adecuado de errores para los fallos de autenticación
- Almacena en caché JWKS: Almacena en caché los datos de JWKS para mejorar el rendimiento y reducir las solicitudes