
# keenauth_organization_domain

Die Ressource `keenauth_organization_domain` fügt einer Organisation eine Domain hinzu. Eine verifizierte Domain erlaubt Benutzern mit einer E-Mail-Adresse in dieser Domain, der Organisation beizutreten, und leitet ihre Anmeldung an die SSO-Verbindung der Organisation weiter.

```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
  }
}
```

## Verifizierung

- Eine `dns_txt`-Domain (Standard) beginnt mit `pending`. Veröffentlichen Sie `txt_record_name` mit dem Wert `txt_record_value` als TXT-Eintrag bei Ihrem DNS-Anbieter. Die Plattform prüft ihn nach einem Zeitplan; zur sofortigen Prüfung führen Sie `keenauth organization-domains verify <id>` aus.
- Eine Domain, die nicht innerhalb von 72 Stunden verifiziert wird, wird `expired`. Führen Sie `keenauth organization-domains verify <id>` aus, um neu zu beginnen; dabei wird ein neuer `txt_record_value` ausgestellt.
- Verschwindet der TXT-Eintrag einer verifizierten Domain, wird die Domain `unverified` und nach 30 Tagen `revoked`.
- Die Verifizierung ist eine Aktion, kein Attribut. Der Provider führt sie nie aus; er liest nur `status`.
- `verification_method = "manual"` ist Ihre Erklärung, dass Ihnen die Domain gehört. Die Domain ist sofort `verified`, und die Erklärung wird im Verwaltungs-Auditprotokoll festgehalten.
- Der TXT-Wert ist ein öffentlicher DNS-Wert, kein Geheimnis. Er wird im State gespeichert, damit eine DNS-Ressource ihn verwenden kann.

## Erfassung und SSO-Weiterleitung

- `capture_mode` ist `off` (Standard), `suggest` oder `auto_join`. `sso_routing_enabled` leitet E-Mail-Adressen der Domain an die SSO-Verbindung der Organisation weiter.
- Beides kann nur bei einer `verified`-Domain eingeschaltet werden; sonst antwortet die API mit `409 domain_not_verified`. Ausschalten ist immer erlaubt.
- Behalten Sie bei einer neuen `dns_txt`-Domain die Standardwerte: Der Plan schlägt fehl, wenn Sie sie einschalten, bevor die Domain existiert. Legen Sie die Domain an, veröffentlichen Sie den Eintrag, warten Sie, bis `status` `verified` ist, und schalten Sie dann ein und wenden Sie erneut an.

## Lebenszyklus

- Schreiben Sie `domain` in Kleinbuchstaben ohne abschließenden Punkt. Internationalisierte Namen schreiben Sie als A-Labels (`xn--…`).
- Eine Änderung von `organization_id`, `domain` oder `verification_method` ersetzt die Domain und startet eine neue Verifizierung.
- Das Entfernen der Ressource löscht die Domain; Erfassung und SSO-Weiterleitung enden mit ihr.
- Das Löschen der Organisation löscht ihre Domains. Eine außerhalb des Providers gelöschte Domain wird aus dem State entfernt und neu geplant.

## Import

Import per ID oder per `<org_id>/<domain>`:

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