Skip to Content

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:

  1. Añadir el dominio a través de la API
  2. Configurar DNS — añadir el registro CNAME o TXT que proporciona Auris
  3. Verificar — Auris comprueba el registro DNS y aprovisiona un certificado SSL
  4. 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

GET/api/custom-domainsRequires: manage:custom_domains

Lista 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

EstadoDescripción
PENDINGDominio añadido, verificación DNS aún no intentada
VERIFYINGLa comprobación de verificación está en progreso
ACTIVEDominio verificado, certificado SSL aprovisionado, listo para usar
FAILEDLa verificación DNS falló — el registro esperado no fue encontrado
DELETEDEl dominio ha sido eliminado de forma suave

Estado SSL

Estado SSLDescripción
PENDINGEl certificado SSL aún no ha sido aprovisionado (esperando verificación del dominio)
ACTIVEEl certificado SSL está activo y es válido
EXPIREDEl 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

POST/api/custom-domainsRequires: manage:custom_domains

Añ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" }
CampoRequeridoDescripción
domainSí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.com

Verificación TXT (método alternativo):

TXT _auris-verify.auth.acme-corp.com → auris-verify-mno345pqr678

Una vez que el registro DNS se haya propagado, llama al endpoint de verificación.

Códigos de error

CódigoHTTPDescripción
DOMAIN_TAKEN409Este dominio ya está registrado en otro tenant
DOMAIN_EXISTS409Este dominio ya está añadido a este tenant
VALIDATION_ERROR400Formato de dominio inválido (p. ej., dirección IP sin formato, localhost)
APEX_DOMAIN_NOT_SUPPORTED400Los 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

POST/api/custom-domains/[id]/verifyRequires: manage:custom_domains

Activa 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ódigoHTTPDescripción
DOMAIN_NOT_FOUND404El ID del dominio personalizado no existe
ALREADY_VERIFIED400El 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

DELETE/api/custom-domains/[id]Requires: manage:custom_domains

Elimina 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ódigoHTTPDescripción
DOMAIN_NOT_FOUND404El 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

PATCH/api/custom-domains/[id]Requires: manage:custom_domains

Actualiza 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 }
CampoRequeridoDescripción
primaryDomainSí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ódigoHTTPDescripción
DOMAIN_NOT_VERIFIED400No se puede establecer como principal — el dominio aún no está verificado (el estado debe ser ACTIVE)
SSL_NOT_ACTIVE400No se puede establecer como principal — el certificado SSL aún no está aprovisionado
DOMAIN_NOT_FOUND404El 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ísticaAntesDespués
URL de página de login alojadayour-auris-domain.com/hosted/loginauth.tudominio.com/hosted/login
Endpoint de autorización OAuthyour-auris-domain.com/api/oauth/authorizeauth.tudominio.com/api/oauth/authorize
Emisor de Descubrimiento OIDCyour-auris-domain.comauth.tudominio.com
URI JWKSyour-auris-domain.com/.well-known/jwks.jsonauth.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 SDKyour-auris-domain.comauth.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

PermisoDescripción
manage:custom_domainsAcceso 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