
# keenauth_organization_domain

La risorsa `keenauth_organization_domain` aggiunge un dominio a un'organizzazione. Un dominio verificato permette agli utenti con un indirizzo e-mail in quel dominio di entrare nell'organizzazione e indirizza il loro accesso alla connessione SSO dell'organizzazione.

```terraform
resource "keenauth_organization_domain" "acme" {
  organization_id = keenauth_organization.acme.id
  domain          = "acme.example.com"
}

output "txt_record" {
  value = {
    name  = keenauth_organization_domain.acme.txt_record_name
    value = keenauth_organization_domain.acme.txt_record_value
  }
}
```

## Verifica

- Un dominio `dns_txt` (predefinito) inizia come `pending`. Pubblichi `txt_record_name` con il valore `txt_record_value` come record TXT presso il suo provider DNS. La piattaforma lo controlla secondo una pianificazione; per controllarlo subito, esegua `keenauth organization-domains verify <id>`.
- Un dominio non verificato entro 72 ore diventa `expired`. Esegua `keenauth organization-domains verify <id>` per ricominciare; questo emette un nuovo `txt_record_value`.
- Se il record TXT di un dominio verificato scompare, il dominio diventa `unverified` e, dopo 30 giorni, `revoked`.
- La verifica è un'azione, non un attributo. Il provider non la esegue mai; legge solo `status`.
- `verification_method = "manual"` è la sua dichiarazione di possedere il dominio. Il dominio diventa subito `verified` e la dichiarazione viene scritta nel registro di audit di gestione.
- Il valore TXT è un valore DNS pubblico, non un segreto. Viene conservato nello stato in modo che una risorsa DNS possa usarlo.

## Acquisizione e instradamento SSO

- `capture_mode` vale `off` (predefinito), `suggest` o `auto_join`. `sso_routing_enabled` instrada gli indirizzi e-mail del dominio verso la connessione SSO dell'organizzazione.
- Entrambi possono essere attivati solo su un dominio `verified`; altrimenti l'API risponde `409 domain_not_verified`. Disattivarli è sempre consentito.
- Per un nuovo dominio `dns_txt`, mantenga i valori predefiniti: il piano fallisce se li attiva prima che il dominio esista. Crei il dominio, pubblichi il record, attenda che `status` sia `verified`, poi li attivi e applichi di nuovo.

## Ciclo di vita

- Scriva `domain` in minuscolo e senza punto finale. Scriva i nomi internazionalizzati come A-label (`xn--…`).
- Cambiare `organization_id`, `domain` o `verification_method` sostituisce il dominio e avvia una nuova verifica.
- Rimuovere la risorsa elimina il dominio; acquisizione e instradamento SSO si interrompono con esso.
- Eliminare l'organizzazione elimina i suoi domini. Un dominio eliminato al di fuori del provider viene rimosso dallo stato e pianificato di nuovo.

## Importazione

Importi per ID o per `<org_id>/<domain>`:

```shell
tofu import keenauth_organization_domain.acme odm_01j9zq3v8c5m2x7k4t6r1n0b3d
tofu import keenauth_organization_domain.acme org_01j9zq3v8c5m2x7k4t6r1n0b3d/acme.example.com
```
