## Konfiguration

---

### Profilübersicht

---

Rainbow CLI NG verwendet ein **Profil**-System zur Verwaltung Ihrer Rainbow-Zugangsdaten. Jedes Profil speichert:

- Die verwendete Authentifizierungsmethode
- Zugangsdaten (Anwendungs-ID, Secrets, E-Mail…)
- Die URL der Zielplattform (Produktion, Sandbox…)

Profile werden in `~/.rainbow-cli-config.json` gespeichert. Geheimnisse (Passwörter, geheime Schlüssel) werden sicher im **Betriebssystem-Schlüsselbund** gespeichert: Keychain unter macOS, Secret Service unter Linux, Windows Credential Manager unter Windows.

### Profil erstellen

---

```bash
rbw config create-profile
```

Ein interaktiver Assistent führt Sie Schritt für Schritt durch die Einrichtung. Sie wählen einen Profilnamen und dann eine Authentifizierungsmethode aus drei verfügbaren Optionen.

### Authentifizierungsmethoden

---

#### API_KEY

API-Schlüssel-Authentifizierung mit HMAC-Signierung. Erforderlich:

- `apiKey` — Ihr Rainbow-API-Schlüssel
- `applicationId` — Ihre Anwendungskennung
- `applicationSecret` — Ihr Anwendungsgeheimnis

```bash
rbw config create-profile
# → Methode wählen: API_KEY
```

#### RAINBOW

Authentifizierung mit Rainbow-Zugangsdaten (E-Mail + Passwort). Erforderlich:

- `loginEmail` — Ihre Rainbow-E-Mail-Adresse
- `password` — Ihr Rainbow-Passwort
- `applicationId` — Ihre Anwendungskennung
- `applicationSecret` — Ihr Anwendungsgeheimnis

```bash
rbw config create-profile
# → Methode wählen: RAINBOW
```

#### OAUTH

OAuth 2.0 browserbasierte Authentifizierung (Authorization Code Flow). Erforderlich:

- `applicationId` — Ihre Anwendungskennung
- `applicationSecret` — Ihr Anwendungsgeheimnis

Ein Browser öffnet sich automatisch zur Anmeldung. Das Refresh-Token wird automatisch gespeichert und erneuert.

```bash
rbw config create-profile
# → Methode wählen: OAUTH
```

### Profile verwalten

---

#### Aktives Profil anzeigen

```bash
rbw config show-profile
```

#### Zu einem anderen Profil wechseln

```bash
rbw config set-profile <name>
```

#### Ein bestimmtes Profil anzeigen

```bash
rbw config show-profile <name>
```

#### Profil aktualisieren

```bash
rbw config update-profile <name>
```

#### Profil löschen

```bash
rbw config delete-profile <name>
```

### Profil für einen einzelnen Befehl verwenden

---

Die globale Option `--profile` ermöglicht es, ein Profil für einen einzelnen Befehl anzugeben, ohne das aktive Profil zu ändern:

```bash
rbw --profile production user:list
rbw --profile sandbox app:list
```

Dies ist nützlich, um in mehreren Umgebungen (Sandbox, Produktion) zu arbeiten, ohne jedes Mal das Profil zu wechseln.
