API de Dominios Personalizados
Los Dominios Personalizados te permiten servir las páginas de login alojadas de Auris y los flujos OAuth bajo tu propio dominio con marca (p. ej., auth.tudominio.com) en lugar del dominio predeterminado de Auris. Esto proporciona una experiencia sin interrupciones y de marca blanca donde tus usuarios nunca ven la marca de Auris.
El ciclo de vida del dominio personalizado sigue estos pasos:
- Añadir el dominio a través de la API
- Configurar DNS — añadir el registro CNAME o TXT que proporciona Auris
- Verificar — Auris comprueba el registro DNS y aprovisiona un certificado SSL
- Activar — establecer el dominio como el dominio principal para tu tenant
Una vez activo, todas las redirecciones OAuth, páginas de login alojadas, enlaces de email y configuraciones del SDK usan tu dominio personalizado.
Todos los endpoints requieren el encabezado x-tenant y un Bearer token válido. La gestión de dominios personalizados requiere acceso a nivel de administrador.
Listar Dominios Personalizados
/api/custom-domainsRequires: manage:custom_domainsLista todos los dominios personalizados configurados para el tenant, incluyendo su estado de verificación y SSL. Devuelve los dominios en orden de creación.
Respuesta exitosa
{
"ok": true,
"data": [
{
"id": "cd_abc123",
"domain": "auth.acme-corp.com",
"status": "ACTIVE",
"sslStatus": "ACTIVE",
"verificationMethod": "CNAME",
"verificationToken": "auris-verify-abc123def456",
"primaryDomain": true,
"createdAt": "2025-01-15T10:00:00Z",
"verifiedAt": "2025-01-15T10:45:00Z"
},
{
"id": "cd_def456",
"domain": "login.acme.io",
"status": "PENDING",
"sslStatus": "PENDING",
"verificationMethod": "TXT",
"verificationToken": "auris-verify-ghi789jkl012",
"primaryDomain": false,
"createdAt": "2025-02-10T08:00:00Z",
"verifiedAt": null
}
]
}Ciclo de Vida del Estado del Dominio
| Estado | Descripción |
|---|---|
PENDING | Dominio añadido, verificación DNS aún no intentada |
VERIFYING | La comprobación de verificación está en progreso |
ACTIVE | Dominio verificado, certificado SSL aprovisionado, listo para usar |
FAILED | La verificación DNS falló — el registro esperado no fue encontrado |
DELETED | El dominio ha sido eliminado de forma suave |
Estado SSL
| Estado SSL | Descripción |
|---|---|
PENDING | El certificado SSL aún no ha sido aprovisionado (esperando verificación del dominio) |
ACTIVE | El certificado SSL está activo y es válido |
EXPIRED | El certificado SSL ha expirado y necesita renovación |
Los certificados SSL se aprovisionan automáticamente después de la verificación exitosa del dominio. Auris gestiona la emisión y renovación de certificados — no se requiere gestión manual de certificados.
Añadir un Dominio Personalizado
/api/custom-domainsRequires: manage:custom_domainsAñade un nuevo dominio personalizado al tenant. Auris genera un token de verificación único y devuelve el registro DNS que debe crearse para probar la propiedad del dominio.
Cuerpo de la solicitud
{
"domain": "auth.acme-corp.com"
}| Campo | Requerido | Descripción |
|---|---|---|
domain | Sí | El nombre de dominio completamente calificado. Debe ser un dominio o subdominio válido. |
Respuesta exitosa
{
"ok": true,
"data": {
"id": "cd_ghi789",
"domain": "auth.acme-corp.com",
"status": "PENDING",
"sslStatus": "PENDING",
"verificationMethod": "CNAME",
"verificationToken": "auris-verify-mno345pqr678",
"primaryDomain": false,
"dnsRecord": {
"type": "CNAME",
"host": "auth.acme-corp.com",
"value": "your-auris-domain.com"
},
"createdAt": "2025-02-18T10:00:00Z"
}
}Después de crear el dominio, añade el registro DNS mostrado en dnsRecord en tu registrador de dominio. El tipo de registro depende de la configuración del dominio:
Verificación CNAME (para subdominios como auth.acme-corp.com):
CNAME auth.acme-corp.com → your-auris-domain.comVerificación TXT (método alternativo):
TXT _auris-verify.auth.acme-corp.com → auris-verify-mno345pqr678Una vez que el registro DNS se haya propagado, llama al endpoint de verificación.
Códigos de error
| Código | HTTP | Descripción |
|---|---|---|
DOMAIN_TAKEN | 409 | Este dominio ya está registrado en otro tenant |
DOMAIN_EXISTS | 409 | Este dominio ya está añadido a este tenant |
VALIDATION_ERROR | 400 | Formato de dominio inválido (p. ej., dirección IP sin formato, localhost) |
APEX_DOMAIN_NOT_SUPPORTED | 400 | Los dominios apex (p. ej., acme-corp.com sin subdominio) no son compatibles con la verificación CNAME. Usa un subdominio como auth.acme-corp.com. |
Los dominios apex (raíz) no pueden usar registros CNAME sin entrar en conflicto con otros registros DNS. Se recomienda encarecidamente usar un subdominio como auth.tudominio.com, login.tudominio.com o id.tudominio.com.
Verificar un Dominio
/api/custom-domains/[id]/verifyRequires: manage:custom_domainsActiva la verificación DNS para el dominio. Auris realiza una búsqueda DNS en tiempo real para comprobar el registro CNAME o TXT. En una verificación exitosa, el aprovisionamiento del certificado SSL comienza automáticamente.
Solicitud: No se requiere cuerpo.
Respuesta exitosa — verificado
{
"ok": true,
"data": {
"id": "cd_ghi789",
"domain": "auth.acme-corp.com",
"status": "ACTIVE",
"sslStatus": "PENDING",
"verifiedAt": "2025-02-18T10:45:00Z"
}
}Después de que la verificación sea exitosa, el estado SSL pasa de PENDING a ACTIVE en pocos minutos mientras se aprovisiona el certificado.
Respuesta exitosa — aún no propagado
{
"ok": true,
"data": {
"id": "cd_ghi789",
"domain": "auth.acme-corp.com",
"status": "PENDING",
"message": "DNS record not found yet. DNS propagation can take up to 48 hours."
}
}Respuesta exitosa — verificación fallida
{
"ok": true,
"data": {
"id": "cd_ghi789",
"domain": "auth.acme-corp.com",
"status": "FAILED",
"message": "CNAME record found but points to an incorrect target. Expected: your-auris-domain.com, Found: other-service.com"
}
}Códigos de error
| Código | HTTP | Descripción |
|---|---|---|
DOMAIN_NOT_FOUND | 404 | El ID del dominio personalizado no existe |
ALREADY_VERIFIED | 400 | El dominio ya está verificado y activo |
La propagación DNS normalmente se completa en minutos pero puede tardar hasta 48 horas. Un estado FAILED no es permanente — corrige el registro DNS y llama a verificar de nuevo. Puedes llamar al endpoint de verificación tantas veces como sea necesario.
Eliminar un Dominio Personalizado
/api/custom-domains/[id]Requires: manage:custom_domainsElimina un dominio personalizado. El certificado SSL se desaprovisiona y el dominio ya no puede usarse para los servicios de Auris. Si el dominio eliminado era el dominio principal, el tenant vuelve al dominio predeterminado de Auris.
Respuesta exitosa
{
"ok": true,
"data": { "deleted": true }
}Códigos de error
| Código | HTTP | Descripción |
|---|---|---|
DOMAIN_NOT_FOUND | 404 | El ID del dominio personalizado no existe |
Eliminar el dominio personalizado principal afecta inmediatamente a todos los flujos OAuth, páginas de login alojadas, enlaces de email y configuraciones del SDK que lo referencian. Los usuarios serán redirigidos al dominio predeterminado de Auris. Actualiza la configuración del SDK de tu aplicación y las URIs de redirección antes de eliminar un dominio principal.
Establecer Dominio Principal
/api/custom-domains/[id]Requires: manage:custom_domainsActualiza la configuración de un dominio personalizado. Actualmente, la única actualización compatible es establecer o desestableceer el dominio como dominio principal.
Establecer un dominio como principal hace que todas las URLs generadas por Auris (base de redirección OAuth, enlaces de email, emisor de Descubrimiento OIDC) usen este dominio en lugar del dominio predeterminado de Auris.
Cuerpo de la solicitud
{
"primaryDomain": true
}| Campo | Requerido | Descripción |
|---|---|---|
primaryDomain | Sí | Establécelo en true para hacer que este sea el dominio principal. Establecerlo en false revierte el tenant al dominio predeterminado de Auris. Solo un dominio puede ser principal a la vez — establecer un nuevo principal desestablece automáticamente el anterior. |
Respuesta exitosa
{
"ok": true,
"data": {
"id": "cd_abc123",
"domain": "auth.acme-corp.com",
"primaryDomain": true,
"updatedAt": "2025-02-18T12:00:00Z"
}
}Códigos de error
| Código | HTTP | Descripción |
|---|---|---|
DOMAIN_NOT_VERIFIED | 400 | No se puede establecer como principal — el dominio aún no está verificado (el estado debe ser ACTIVE) |
SSL_NOT_ACTIVE | 400 | No se puede establecer como principal — el certificado SSL aún no está aprovisionado |
DOMAIN_NOT_FOUND | 404 | El ID del dominio personalizado no existe |
Cómo Funcionan los Dominios Personalizados
Cuando un dominio personalizado se establece como principal, los siguientes comportamientos de Auris cambian:
| Característica | Antes | Después |
|---|---|---|
| URL de página de login alojada | your-auris-domain.com/hosted/login | auth.tudominio.com/hosted/login |
| Endpoint de autorización OAuth | your-auris-domain.com/api/oauth/authorize | auth.tudominio.com/api/oauth/authorize |
| Emisor de Descubrimiento OIDC | your-auris-domain.com | auth.tudominio.com |
| URI JWKS | your-auris-domain.com/.well-known/jwks.json | auth.tudominio.com/.well-known/jwks.json |
| Enlaces de email (magic links, verificación) | your-auris-domain.com/... | auth.tudominio.com/... |
| Configuración del dominio del SDK | your-auris-domain.com | auth.tudominio.com |
Después de establecer un dominio personalizado principal, actualiza la inicialización de tu SDK para usar el nuevo dominio. Por ejemplo, en @auris/js: new AurisClient({ domain: 'auth.tudominio.com', clientId: '...' }). El endpoint de Descubrimiento OIDC reflejará el nuevo emisor automáticamente.
Métodos de Verificación DNS
Auris soporta dos métodos de verificación DNS:
Verificación CNAME (Recomendado)
Usado para subdominios. El registro CNAME sirve un doble propósito — verifica la propiedad y enruta el tráfico a Auris.
Tipo: CNAME
Host: auth.acme-corp.com
Valor: your-auris-domain.com
TTL: 3600 (o Auto)Verificación TXT
Método alternativo cuando CNAME no es adecuado. Se añade un registro TXT separado bajo el subdominio _auris-verify.
Tipo: TXT
Host: _auris-verify.auth.acme-corp.com
Valor: auris-verify-mno345pqr678
TTL: 3600 (o Auto)Con la verificación TXT, también debes configurar un registro CNAME o A por separado para enrutar el tráfico a Auris.
Referencia de Permisos
| Permiso | Descripción |
|---|---|
manage:custom_domains | Acceso completo a la gestión de dominios personalizados — añadir, verificar, establecer como principal, eliminar |
La gestión de dominios personalizados generalmente está restringida a los administradores del tenant. El permiso está incluido en el rol predeterminado admin.
Relacionado
- Guía de Dominios Personalizados — Configuración y verificación de dominios paso a paso
- Dominios Personalizados — Añade y verifica dominios desde la Consola