CLI-Tool (@auris/cli)
@auris/cli v0.1.0@auris/cli ist das offizielle Kommandozeilentool für Auris IAM. Verwende es, um Benutzer, Rollen, Anwendungen und Audit-Logs vom Terminal aus zu verwalten — oder in CI/CD-Pipelines und Automatisierungsskripten.
Installation
# Global installieren (empfohlen)
npm install -g @auris/cli
# Oder ohne Installation mit npx ausführen
npx @auris/cli --helpInstallation verifizieren:
auris --versionAuthentifizierung
Vor der Verwendung des CLI mit deinem Auris-Tenant authentifizieren:
auris loginDies öffnet deinen Browser und leitet zur Auris-gehosteten Login-Seite weiter. Nach der Anmeldung speichert das CLI deine Access- und Refresh-Tokens in ~/.aurisrc.
Für nicht-interaktive Authentifizierung (CI/CD) die Umgebungsvariable AURIS_CLIENT_SECRET setzen — das CLI verwendet dann automatisch M2M-client_credentials-Authentifizierung:
export AURIS_DOMAIN=auth.yourdomain.com
export AURIS_CLIENT_ID=app_xxxxx
export AURIS_CLIENT_SECRET=cs_live_xxxxx
export AURIS_TENANT=my-tenant
auris users listKonfigurationsdatei (.aurisrc)
Das CLI liest die Konfiguration aus einer .aurisrc-Datei. Der Standardspeicherort ist ~/.aurisrc. Die Datei wird automatisch durch auris init oder auris login erstellt.
{
"domain": "auth.yourdomain.com",
"clientId": "app_xxxxx",
"tenant": "my-tenant",
"outputFormat": "table"
}Konfigurationsoptionen:
| Schlüssel | Typ | Standard | Beschreibung |
|---|---|---|---|
domain | string | — | Auris-Tenant-Domain (ohne https://) |
clientId | string | — | Anwendungs-Client-ID |
tenant | string | 'default' | Tenant-Bezeichner |
outputFormat | 'table' | 'json' | 'table' | Standard-Ausgabeformat |
--config /pfad/zu/.aurisrc verwenden, um eine alternative Konfigurationsdatei für Multi-Tenant-Workflows anzugeben.
Umgebungsvariablen
Alle Konfigurationsoptionen können über Umgebungsvariablen gesetzt werden. Umgebungsvariablen haben Vorrang vor der Konfigurationsdatei.
| Variable | Beschreibung |
|---|---|
AURIS_DOMAIN | Auris-Tenant-Domain |
AURIS_CLIENT_ID | Anwendungs-Client-ID |
AURIS_CLIENT_SECRET | Client-Secret (aktiviert M2M-Auth — für CI/CD) |
AURIS_TENANT | Tenant-Bezeichner |
AURIS_CONFIG_PATH | Pfad zur .aurisrc-Konfigurationsdatei |
AURIS_OUTPUT_FORMAT | table oder json |
Globale Flags
Diese Flags gelten für alle Befehle:
| Flag | Beschreibung |
|---|---|
--json | Ausgabe als JSON |
--tenant <id> | Tenant für diesen Befehl überschreiben |
--config <pfad> | Benutzerdefinierte Konfigurationsdatei verwenden |
--no-color | Farbige Ausgabe deaktivieren |
--quiet | Alle Ausgaben außer Fehlern unterdrücken |
--verbose | HTTP-Anfrage-/Antwortdetails anzeigen |
--help | Hilfe für den aktuellen Befehl anzeigen |
--version | CLI-Version anzeigen |
Befehle
auris init
Interaktiv eine .aurisrc-Konfigurationsdatei im aktuellen Verzeichnis erstellen.
auris init? Auris-Domain: auth.yourdomain.com
? Client-ID: app_xxxxx
? Tenant: my-tenant
? Standard-Ausgabeformat: table
.aurisrc im aktuellen Verzeichnis erstellt.--global verwenden, um stattdessen in ~/.aurisrc zu schreiben.
auris init --globalauris login
Mit Auris authentifizieren. Öffnet ein Browser-Fenster für den OAuth2-PKCE-Flow.
auris loginauris whoami
Informationen über den aktuell authentifizierten Benutzer anzeigen.
auris whoamiBenutzer: Alice Smith
E-Mail: [email protected]
ID: usr_abc123
Rollen: admin, editor
Tenant: my-tenantauris test
Konnektivität zur konfigurierten Auris-Instanz testen.
auris testVerbindung zu auth.yourdomain.com... OK
Client-ID app_xxxxx... gültig
Token... gültig (läuft ab in 42 Minuten)
Alle Prüfungen bestanden.auris applications list
Alle Anwendungen im aktuellen Tenant auflisten.
auris applications list
auris applications list --jsonID NAME TYP STATUS
app_abc123 Meine Web-App WEB aktiv
app_def456 Mobile App MOBILE aktiv
app_ghi789 Reporting-Dienst M2M aktivauris applications create
Eine neue Anwendung interaktiv erstellen.
auris applications create
# Ohne Interaktion (für Skripte)
auris applications create \
--name "Meine API" \
--type M2M \
--non-interactiveauris users list
Benutzer im aktuellen Tenant mit optionalen Filtern und Paginierung auflisten.
auris users list
auris users list --page 2 --limit 25
auris users list --role admin
auris users list --search aliceFlags:
| Flag | Beschreibung |
|---|---|
--page <n> | Seitenzahl (Standard: 1) |
--limit <n> | Benutzer pro Seite (Standard: 20, max: 100) |
--search <abfrage> | Nach E-Mail, Benutzername oder Name suchen |
--role <name> | Nach Rollennamen filtern |
--status <enabled|disabled> | Nach Kontostatus filtern |
--json | Ausgabe als JSON-Array |
auris users get <id-oder-email>
Detaillierte Informationen zu einem einzelnen Benutzer abrufen.
auris users get [email protected]
auris users get usr_abc123ID: usr_abc123
E-Mail: [email protected]
Name: Alice Smith
Benutzername: alice
Rollen: admin, editor
Status: aktiv
E-Mail verifiz.: ja
Erstellt: 2024-01-15T10:30:00Z
Letzte Anmeldung: 2026-02-14T09:00:00Zauris users create
Einen neuen Benutzer interaktiv oder mit Flags erstellen.
# Interaktiv
auris users create
# Ohne Interaktion
auris users create \
--email "[email protected]" \
--first-name "Neuer" \
--last-name "Benutzer" \
--role "editor" \
--send-inviteFlags:
| Flag | Beschreibung |
|---|---|
--email <email> | E-Mail-Adresse des Benutzers |
--first-name <name> | Vorname |
--last-name <name> | Nachname |
--username <benutzername> | Benutzername |
--role <name> | Rolle zuweisen (kann mehrfach angegeben werden) |
--send-invite | Einladungs-E-Mail an den neuen Benutzer senden |
--non-interactive | Keine Eingabeaufforderungen — fehlschlagen wenn Pflicht-Flags fehlen |
auris users update <id-oder-email>
Ein vorhandenes Benutzerprofil aktualisieren.
auris users update [email protected] --first-name "Alicia"
auris users update usr_abc123 --role editor --role viewerauris users delete <id-oder-email>
Einen Benutzer löschen. Fragt nach Bestätigung, es sei denn --yes wird übergeben.
auris users delete [email protected]
auris users delete [email protected] --yesauris roles list
Alle Rollen im aktuellen Tenant auflisten.
auris roles listID NAME BESCHREIBUNG BENUTZER
role_abc admin Vollständiger Admin-Zugriff 3
role_def editor Kann Inhalte bearbeiten 12
role_ghi viewer Nur-Lese-Zugriff 45auris roles get <id-oder-name>
Detaillierte Informationen zu einer Rolle einschließlich ihrer Berechtigungen abrufen.
auris roles get admin
auris roles get role_abc123auris roles create
Eine neue Rolle erstellen.
auris roles create --name "abrechnungs-manager" --description "Verwaltet Abrechnung und Rechnungen"auris permissions list
Alle Berechtigungsdefinitionen im Tenant auflisten.
auris permissions list
auris permissions list --role admin
auris permissions list --category billingauris logs
Audit-Logs mit optionalen Filtern anzeigen. Standardmäßig die letzten 50 Log-Einträge.
# Aktuelle Logs anzeigen
auris logs
# Nach Level filtern
auris logs --level error
# Nach Aktionstyp filtern
auris logs --action user.login
# Nach Zeitraum filtern
auris logs --since "2026-02-01T00:00:00Z" --until "2026-02-17T23:59:59Z"
# Logs in Echtzeit streamen (fragt alle 5 Sekunden ab)
auris logs --follow
# Ausgabe als JSON für Piping
auris logs --json | jq '.[] | select(.level == "error")'Flags:
| Flag | Beschreibung |
|---|---|
--level <info|warn|error> | Nach Log-Level filtern |
--action <typ> | Nach Aktionstyp filtern (z.B. user.login, role.updated) |
--since <ISO8601> | Beginn des Zeitraums |
--until <ISO8601> | Ende des Zeitraums |
--limit <n> | Maximale Anzahl Einträge (Standard: 50, max: 500) |
--follow | Alle 5 Sekunden nach neuen Einträgen abfragen (wie tail -f) |
--json | Ausgabe als JSON-Array |
auris generate
Code-Templates für häufige Integrationsmuster generieren.
# Verfügbare Templates anzeigen
auris generate --listVerfügbare Templates:
login-page Login-Seite mit Auris-Button (React, Next.js, Vue, Svelte)
callback-page OAuth2-Callback-Handler-Seite
middleware Next.js / Express Auth-Middleware
api-route Geschützte API-Route (Next.js, Express)
php-login PHP-Login-Flow (login.php + callback.php + dashboard.php)# Next.js-Login-Seite generieren
auris generate login-page --framework nextjs --output ./app/auth/login/page.tsx
# Express-Middleware generieren
auris generate middleware --framework express --output ./middleware/auth.js
# PHP-Login-Flow generieren
auris generate php-login --output ./public/Der generierte Code wird mit deiner Domain und Client-ID aus .aurisrc vorausgefüllt.
Scripting
--json verwenden, um maschinenlesbare Ausgabe zu erhalten, und dann mit jq weiterverarbeiten:
# Benutzer pro Rolle zählen
auris users list --json --limit 500 | jq '[.[].roles[]] | group_by(.) | map({rolle: .[0], anzahl: length})'
# Alle deaktivierten Konten finden
auris users list --json --status disabled | jq '.[] | .email'
# Aktuelle Fehler-Logs in eine Datei exportieren
auris logs --level error --since "2026-02-01T00:00:00Z" --json > fehler.json
# Test-Benutzer in einem CI-Teardown-Schritt löschen
auris users delete "test-$(echo $BUILD_ID)@example.com" --yesExit-Codes:
| Code | Bedeutung |
|---|---|
0 | Erfolg |
1 | Allgemeiner Fehler |
2 | Konfigurationsfehler (fehlende Domain, Client-ID usw.) |
3 | Authentifizierungsfehler (ungültiges oder abgelaufenes Token) |
4 | Nicht gefunden (Benutzer, Rolle, Anwendung existiert nicht) |
5 | Berechtigung verweigert (aktueller Benutzer hat nicht die erforderliche Berechtigung) |
auris users get "[email protected]" --quiet
if [ $? -eq 4 ]; then
echo "Benutzer nicht gefunden, wird erstellt..."
auris users create --email "[email protected]" --non-interactive
fiCI/CD-Integration
GitHub Actions
# .github/workflows/provision-users.yml
name: Benutzer bereitstellen
on:
workflow_dispatch:
jobs:
provision:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Node.js einrichten
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Auris CLI installieren
run: npm install -g @auris/cli
- name: Benutzer bereitstellen
env:
AURIS_DOMAIN: ${{ secrets.AURIS_DOMAIN }}
AURIS_CLIENT_ID: ${{ secrets.AURIS_CLIENT_ID }}
AURIS_CLIENT_SECRET: ${{ secrets.AURIS_CLIENT_SECRET }}
AURIS_TENANT: ${{ secrets.AURIS_TENANT }}
run: |
auris users create \
--email "[email protected]" \
--first-name "Deploy" \
--last-name "Bot" \
--role "ci-runner" \
--non-interactiveSkript-Datei
#!/bin/bash
# provision-tenant.sh
set -e
export AURIS_DOMAIN="auth.yourdomain.com"
export AURIS_CLIENT_ID="app_xxxxx"
export AURIS_CLIENT_SECRET="$CI_AURIS_SECRET"
export AURIS_TENANT="my-tenant"
echo "Rollen erstellen..."
auris roles create --name "abrechnungs-admin" --description "Verwaltet Abrechnung"
auris roles create --name "berichts-viewer" --description "Nur-Lese-Zugriff auf Berichte"
echo "Initialen Admin-Benutzer erstellen..."
auris users create \
--email "[email protected]" \
--first-name "Admin" \
--last-name "Benutzer" \
--role "admin" \
--send-invite \
--non-interactive
echo "Fertig."Verwandte Seiten
- JavaScript SDK — Für programmatische Tenant-Verwaltung aus Node.js-Code
- REST API-Referenz — Vollständige HTTP-API für erweiterte Automatisierung
- Audit-Logs — Log-Format und verfügbare Aktionstypen