API Domini Personalizzati
I Domini Personalizzati ti consentono di servire le pagine di login ospitate da Auris e i flussi OAuth sotto il tuo dominio brandizzato (es. auth.tuodominio.com) invece del dominio Auris predefinito. Questo offre un’esperienza white-label senza soluzione di continuità in cui i tuoi utenti non vedono mai il brand Auris.
Il ciclo di vita di un dominio personalizzato segue questi passaggi:
- Aggiungi il dominio tramite l’API
- Configura il DNS — aggiungi il record CNAME o TXT fornito da Auris
- Verifica — Auris controlla il record DNS e provisiona un certificato SSL
- Attiva — imposta il dominio come dominio primario per il tuo tenant
Una volta attivo, tutti i redirect OAuth, le pagine di login ospitate, i link nelle email e le configurazioni SDK utilizzano il tuo dominio personalizzato.
Tutti gli endpoint richiedono l’intestazione x-tenant e un token Bearer valido. La gestione dei domini personalizzati richiede accesso a livello amministratore.
Elenca Domini Personalizzati
/api/custom-domainsRequires: manage:custom_domainsElenca tutti i domini personalizzati configurati per il tenant, incluso lo stato di verifica e SSL. Restituisce i domini in ordine di creazione.
Risposta di successo
{
"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 di Vita dello Stato del Dominio
| Stato | Descrizione |
|---|---|
PENDING | Dominio aggiunto, verifica DNS non ancora tentata |
VERIFYING | Verifica DNS in corso |
ACTIVE | Dominio verificato, certificato SSL provisioned, pronto all’uso |
FAILED | Verifica DNS fallita — il record atteso non è stato trovato |
DELETED | Dominio eliminato in modalità soft-delete |
Stato SSL
| Stato SSL | Descrizione |
|---|---|
PENDING | Certificato SSL non ancora provisioned (in attesa della verifica del dominio) |
ACTIVE | Certificato SSL attivo e valido |
EXPIRED | Certificato SSL scaduto e da rinnovare |
I certificati SSL vengono provisioned automaticamente dopo la verifica del dominio. Auris gestisce l’emissione e il rinnovo dei certificati — non è richiesta alcuna gestione manuale dei certificati.
Aggiungi un Dominio Personalizzato
/api/custom-domainsRequires: manage:custom_domainsAggiunge un nuovo dominio personalizzato al tenant. Auris genera un token di verifica univoco e restituisce il record DNS da creare per dimostrare la proprietà del dominio.
Corpo della richiesta
{
"domain": "auth.acme-corp.com"
}| Campo | Obbligatorio | Descrizione |
|---|---|---|
domain | Sì | Il nome di dominio completamente qualificato. Deve essere un dominio o sottodominio valido. |
Risposta di successo
{
"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"
}
}Dopo aver creato il dominio, aggiungi il record DNS mostrato in dnsRecord presso il tuo registrar di dominio. Il tipo di record dipende dalla configurazione del dominio:
Verifica CNAME (per sottodomini come auth.acme-corp.com):
CNAME auth.acme-corp.com → your-auris-domain.comVerifica TXT (metodo alternativo):
TXT _auris-verify.auth.acme-corp.com → auris-verify-mno345pqr678Una volta propagato il record DNS, chiama l’endpoint di verifica.
Codici di errore
| Codice | HTTP | Descrizione |
|---|---|---|
DOMAIN_TAKEN | 409 | Questo dominio è già registrato per un altro tenant |
DOMAIN_EXISTS | 409 | Questo dominio è già aggiunto a questo tenant |
VALIDATION_ERROR | 400 | Formato dominio non valido (es. indirizzo IP nudo, localhost) |
APEX_DOMAIN_NOT_SUPPORTED | 400 | I domini apex (es. acme-corp.com senza sottodominio) non sono supportati per la verifica CNAME. Usa un sottodominio come auth.acme-corp.com. |
I domini apex (root) non possono utilizzare record CNAME senza entrare in conflitto con altri record DNS. Si consiglia fortemente di usare un sottodominio come auth.tuodominio.com, login.tuodominio.com o id.tuodominio.com.
Verifica un Dominio
/api/custom-domains/[id]/verifyRequires: manage:custom_domainsAvvia la verifica DNS per il dominio. Auris esegue una ricerca DNS in tempo reale per controllare il record CNAME o TXT. Dopo una verifica riuscita, il provisioning del certificato SSL inizia automaticamente.
Richiesta: nessun corpo richiesto.
Risposta di successo — verificato
{
"ok": true,
"data": {
"id": "cd_ghi789",
"domain": "auth.acme-corp.com",
"status": "ACTIVE",
"sslStatus": "PENDING",
"verifiedAt": "2025-02-18T10:45:00Z"
}
}Dopo il successo della verifica, lo stato SSL passa da PENDING ad ACTIVE entro pochi minuti durante il provisioning del certificato.
Risposta di successo — non ancora propagato
{
"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."
}
}Risposta di successo — verifica fallita
{
"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"
}
}Codici di errore
| Codice | HTTP | Descrizione |
|---|---|---|
DOMAIN_NOT_FOUND | 404 | L’ID del dominio personalizzato non esiste |
ALREADY_VERIFIED | 400 | Il dominio è già verificato e attivo |
La propagazione DNS di solito si completa in pochi minuti ma può richiedere fino a 48 ore. Lo stato FAILED non è permanente — correggi il record DNS e chiama nuovamente la verifica. Puoi chiamare l’endpoint di verifica tutte le volte necessarie.
Elimina un Dominio Personalizzato
/api/custom-domains/[id]Requires: manage:custom_domainsElimina un dominio personalizzato. Il certificato SSL viene revocato e il dominio non può più essere utilizzato per i servizi Auris. Se il dominio eliminato era il dominio primario, il tenant torna al dominio Auris predefinito.
Risposta di successo
{
"ok": true,
"data": { "deleted": true }
}Codici di errore
| Codice | HTTP | Descrizione |
|---|---|---|
DOMAIN_NOT_FOUND | 404 | L’ID del dominio personalizzato non esiste |
L’eliminazione del dominio primario personalizzato influisce immediatamente su tutti i flussi OAuth, le pagine di login ospitate, i link nelle email e le configurazioni SDK che lo referenziano. Gli utenti verranno reindirizzati al dominio Auris predefinito. Aggiorna la configurazione SDK della tua applicazione e gli URI di redirect prima di eliminare un dominio primario.
Imposta Dominio Primario
/api/custom-domains/[id]Requires: manage:custom_domainsAggiorna le impostazioni di un dominio personalizzato. Attualmente, l’unico aggiornamento supportato è impostare o rimuovere il dominio come dominio primario.
Impostare un dominio come primario fa sì che tutti gli URL generati da Auris (base redirect OAuth, link email, issuer OIDC Discovery) utilizzino questo dominio invece del dominio Auris predefinito.
Corpo della richiesta
{
"primaryDomain": true
}| Campo | Obbligatorio | Descrizione |
|---|---|---|
primaryDomain | Sì | Impostare a true per rendere questo il dominio primario. Impostare a false ripristina il dominio Auris predefinito. Solo un dominio può essere primario alla volta — impostarne uno nuovo rimuove automaticamente il precedente. |
Risposta di successo
{
"ok": true,
"data": {
"id": "cd_abc123",
"domain": "auth.acme-corp.com",
"primaryDomain": true,
"updatedAt": "2025-02-18T12:00:00Z"
}
}Codici di errore
| Codice | HTTP | Descrizione |
|---|---|---|
DOMAIN_NOT_VERIFIED | 400 | Impossibile impostare come primario — il dominio non è ancora verificato (lo stato deve essere ACTIVE) |
SSL_NOT_ACTIVE | 400 | Impossibile impostare come primario — il certificato SSL non è ancora provisioned |
DOMAIN_NOT_FOUND | 404 | L’ID del dominio personalizzato non esiste |
Come Funzionano i Domini Personalizzati
Quando un dominio personalizzato viene impostato come primario, cambiano i seguenti comportamenti di Auris:
| Funzionalità | Prima | Dopo |
|---|---|---|
| URL pagina di login ospitata | your-auris-domain.com/hosted/login | auth.tuodominio.com/hosted/login |
| Endpoint authorize OAuth | your-auris-domain.com/api/oauth/authorize | auth.tuodominio.com/api/oauth/authorize |
| Issuer OIDC Discovery | your-auris-domain.com | auth.tuodominio.com |
| JWKS URI | your-auris-domain.com/.well-known/jwks.json | auth.tuodominio.com/.well-known/jwks.json |
| Link email (magic link, verifica) | your-auris-domain.com/... | auth.tuodominio.com/... |
| Configurazione SDK | your-auris-domain.com | auth.tuodominio.com |
Dopo aver impostato un dominio primario personalizzato, aggiorna l’inizializzazione del tuo SDK per usare il nuovo dominio. Ad esempio, in @auris/js: new AurisClient({ domain: 'auth.tuodominio.com', clientId: '...' }). L’endpoint OIDC Discovery rifletterà automaticamente il nuovo issuer.
Metodi di Verifica DNS
Auris supporta due metodi di verifica DNS:
Verifica CNAME (Consigliata)
Usata per sottodomini. Il record CNAME svolge un duplice scopo — verifica la proprietà e instrada il traffico verso Auris.
Tipo: CNAME
Host: auth.acme-corp.com
Valore: your-auris-domain.com
TTL: 3600 (o Auto)Verifica TXT
Metodo alternativo quando CNAME non è adatto. Un record TXT separato viene aggiunto sotto il sottodominio _auris-verify.
Tipo: TXT
Host: _auris-verify.auth.acme-corp.com
Valore: auris-verify-mno345pqr678
TTL: 3600 (o Auto)Con la verifica TXT, è necessario configurare separatamente un record CNAME o A per instradare il traffico verso Auris.
Riferimento Permessi
| Permesso | Descrizione |
|---|---|
manage:custom_domains | Accesso completo alla gestione dei domini personalizzati — aggiunta, verifica, impostazione primario, eliminazione |
La gestione dei domini personalizzati è tipicamente riservata agli amministratori del tenant. Il permesso è incluso nel ruolo admin predefinito.
Correlati
- Guida ai Domini Personalizzati — Configurazione e verifica passo-passo del dominio
- Domini Personalizzati — Aggiungi e verifica domini dalla Console