Skip to Content

API Domaines Personnalisés

Les Domaines Personnalisés te permettent de servir les pages de connexion hébergées par Auris et les flux OAuth sous ton domaine brandé (ex. auth.votredomaine.com) au lieu du domaine Auris par défaut. Cela offre une expérience white-label transparente dans laquelle tes utilisateurs ne voient jamais la marque Auris.

Le cycle de vie d’un domaine personnalisé suit ces étapes :

  1. Ajouter le domaine via l’API
  2. Configurer le DNS — ajoute l’enregistrement CNAME ou TXT fourni par Auris
  3. Vérifier — Auris contrôle l’enregistrement DNS et provisionne un certificat SSL
  4. Activer — définis le domaine comme domaine principal pour ton tenant

Une fois actif, tous les redirects OAuth, les pages de connexion hébergées, les liens dans les emails et les configurations SDK utilisent ton domaine personnalisé.

Tous les endpoints requièrent l’en-tête x-tenant et un token Bearer valide. La gestion des domaines personnalisés nécessite un accès de niveau administrateur.

Lister les Domaines Personnalisés

GET/api/custom-domainsRequires: manage:custom_domains

Liste tous les domaines personnalisés configurés pour le tenant, incluant l’état de vérification et SSL. Retourne les domaines dans l’ordre de création.

Réponse de succès

{ "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 } ] }

Cycle de Vie de l’État du Domaine

ÉtatDescription
PENDINGDomaine ajouté, vérification DNS pas encore tentée
VERIFYINGVérification DNS en cours
ACTIVEDomaine vérifié, certificat SSL provisionné, prêt à l’emploi
FAILEDVérification DNS échouée — l’enregistrement attendu n’a pas été trouvé
DELETEDDomaine supprimé en mode soft-delete

État SSL

État SSLDescription
PENDINGCertificat SSL pas encore provisionné (en attente de la vérification du domaine)
ACTIVECertificat SSL actif et valide
EXPIREDCertificat SSL expiré et à renouveler

Les certificats SSL sont provisionnés automatiquement après la vérification du domaine. Auris gère l’émission et le renouvellement des certificats — aucune gestion manuelle des certificats n’est requise.

Ajouter un Domaine Personnalisé

POST/api/custom-domainsRequires: manage:custom_domains

Ajoute un nouveau domaine personnalisé au tenant. Auris génère un token de vérification unique et retourne l’enregistrement DNS à créer pour prouver la propriété du domaine.

Corps de la requête

{ "domain": "auth.acme-corp.com" }
ChampObligatoireDescription
domainOuiLe nom de domaine complètement qualifié. Doit être un domaine ou sous-domaine valide.

Réponse de succès

{ "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" } }

Après avoir créé le domaine, ajoute l’enregistrement DNS affiché dans dnsRecord auprès de ton registrar de domaine. Le type d’enregistrement dépend de la configuration du domaine :

Vérification CNAME (pour les sous-domaines comme auth.acme-corp.com) :

CNAME auth.acme-corp.com → your-auris-domain.com

Vérification TXT (méthode alternative) :

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

Une fois l’enregistrement DNS propagé, appelle l’endpoint de vérification.

Codes d’erreur

CodeHTTPDescription
DOMAIN_TAKEN409Ce domaine est déjà enregistré pour un autre tenant
DOMAIN_EXISTS409Ce domaine est déjà ajouté à ce tenant
VALIDATION_ERROR400Format de domaine invalide (ex. adresse IP nue, localhost)
APEX_DOMAIN_NOT_SUPPORTED400Les domaines apex (ex. acme-corp.com sans sous-domaine) ne sont pas supportés pour la vérification CNAME. Utilise un sous-domaine comme auth.acme-corp.com.

Les domaines apex (root) ne peuvent pas utiliser les enregistrements CNAME sans entrer en conflit avec d’autres enregistrements DNS. Il est fortement recommandé d’utiliser un sous-domaine comme auth.votredomaine.com, login.votredomaine.com ou id.votredomaine.com.

Vérifier un Domaine

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

Lance la vérification DNS pour le domaine. Auris effectue une recherche DNS en temps réel pour contrôler l’enregistrement CNAME ou TXT. Après une vérification réussie, le provisionnement du certificat SSL démarre automatiquement.

Requête : aucun corps requis.

Réponse de succès — vérifié

{ "ok": true, "data": { "id": "cd_ghi789", "domain": "auth.acme-corp.com", "status": "ACTIVE", "sslStatus": "PENDING", "verifiedAt": "2025-02-18T10:45:00Z" } }

Après la vérification réussie, l’état SSL passe de PENDING à ACTIVE en quelques minutes lors du provisionnement du certificat.

Réponse de succès — pas encore propagé

{ "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." } }

Réponse de succès — vérification échouée

{ "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" } }

Codes d’erreur

CodeHTTPDescription
DOMAIN_NOT_FOUND404L’ID du domaine personnalisé n’existe pas
ALREADY_VERIFIED400Le domaine est déjà vérifié et actif

La propagation DNS se termine généralement en quelques minutes mais peut prendre jusqu’à 48 heures. L’état FAILED n’est pas permanent — corrige l’enregistrement DNS et appelle à nouveau la vérification. Tu peux appeler l’endpoint de vérification autant de fois que nécessaire.

Supprimer un Domaine Personnalisé

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

Supprime un domaine personnalisé. Le certificat SSL est révoqué et le domaine ne peut plus être utilisé pour les services Auris. Si le domaine supprimé était le domaine principal, le tenant revient au domaine Auris par défaut.

Réponse de succès

{ "ok": true, "data": { "deleted": true } }

Codes d’erreur

CodeHTTPDescription
DOMAIN_NOT_FOUND404L’ID du domaine personnalisé n’existe pas

La suppression du domaine principal personnalisé affecte immédiatement tous les flux OAuth, les pages de connexion hébergées, les liens dans les emails et les configurations SDK qui le référencent. Les utilisateurs seront redirigés vers le domaine Auris par défaut. Mets à jour la configuration SDK de ton application et les URIs de redirection avant de supprimer un domaine principal.

Définir le Domaine Principal

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

Met à jour les paramètres d’un domaine personnalisé. Actuellement, la seule mise à jour supportée est de définir ou retirer le domaine comme domaine principal.

Définir un domaine comme principal fait en sorte que tous les URLs générés par Auris (base de redirection OAuth, liens email, issuer OIDC Discovery) utilisent ce domaine au lieu du domaine Auris par défaut.

Corps de la requête

{ "primaryDomain": true }
ChampObligatoireDescription
primaryDomainOuiDéfinir à true pour en faire le domaine principal. Définir à false restaure le domaine Auris par défaut. Un seul domaine peut être principal à la fois — en définir un nouveau supprime automatiquement le précédent.

Réponse de succès

{ "ok": true, "data": { "id": "cd_abc123", "domain": "auth.acme-corp.com", "primaryDomain": true, "updatedAt": "2025-02-18T12:00:00Z" } }

Codes d’erreur

CodeHTTPDescription
DOMAIN_NOT_VERIFIED400Impossible de définir comme principal — le domaine n’est pas encore vérifié (l’état doit être ACTIVE)
SSL_NOT_ACTIVE400Impossible de définir comme principal — le certificat SSL n’est pas encore provisionné
DOMAIN_NOT_FOUND404L’ID du domaine personnalisé n’existe pas

Comment Fonctionnent les Domaines Personnalisés

Lorsqu’un domaine personnalisé est défini comme principal, les comportements Auris suivants changent :

FonctionnalitéAvantAprès
URL page de connexion hébergéeyour-auris-domain.com/hosted/loginauth.votredomaine.com/hosted/login
Endpoint authorize OAuthyour-auris-domain.com/api/oauth/authorizeauth.votredomaine.com/api/oauth/authorize
Issuer OIDC Discoveryyour-auris-domain.comauth.votredomaine.com
JWKS URIyour-auris-domain.com/.well-known/jwks.jsonauth.votredomaine.com/.well-known/jwks.json
Liens email (magic link, vérification)your-auris-domain.com/...auth.votredomaine.com/...
Configuration SDKyour-auris-domain.comauth.votredomaine.com

Après avoir défini un domaine principal personnalisé, mets à jour l’initialisation de ton SDK pour utiliser le nouveau domaine. Par exemple, dans @auris/js : new AurisClient({ domain: 'auth.votredomaine.com', clientId: '...' }). L’endpoint OIDC Discovery reflétera automatiquement le nouvel issuer.

Méthodes de Vérification DNS

Auris supporte deux méthodes de vérification DNS :

Vérification CNAME (Recommandée)

Utilisée pour les sous-domaines. L’enregistrement CNAME a un double rôle — il vérifie la propriété et route le trafic vers Auris.

Type : CNAME Hôte : auth.acme-corp.com Valeur : your-auris-domain.com TTL : 3600 (ou Auto)

Vérification TXT

Méthode alternative lorsque CNAME n’est pas adapté. Un enregistrement TXT séparé est ajouté sous le sous-domaine _auris-verify.

Type : TXT Hôte : _auris-verify.auth.acme-corp.com Valeur : auris-verify-mno345pqr678 TTL : 3600 (ou Auto)

Avec la vérification TXT, tu dois configurer séparément un enregistrement CNAME ou A pour router le trafic vers Auris.

Référence des Permissions

PermissionDescription
manage:custom_domainsAccès complet à la gestion des domaines personnalisés — ajout, vérification, définition du principal, suppression

La gestion des domaines personnalisés est généralement réservée aux administrateurs du tenant. La permission est incluse dans le rôle admin par défaut.


Corrélés