Skip to Content

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 --help

Installation verifizieren:

auris --version

Authentifizierung

Vor der Verwendung des CLI mit deinem Auris-Tenant authentifizieren:

auris login

Dies ö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 list

Konfigurationsdatei (.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üsselTypStandardBeschreibung
domainstring—Auris-Tenant-Domain (ohne https://)
clientIdstring—Anwendungs-Client-ID
tenantstring'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.

VariableBeschreibung
AURIS_DOMAINAuris-Tenant-Domain
AURIS_CLIENT_IDAnwendungs-Client-ID
AURIS_CLIENT_SECRETClient-Secret (aktiviert M2M-Auth — für CI/CD)
AURIS_TENANTTenant-Bezeichner
AURIS_CONFIG_PATHPfad zur .aurisrc-Konfigurationsdatei
AURIS_OUTPUT_FORMATtable oder json

Globale Flags

Diese Flags gelten für alle Befehle:

FlagBeschreibung
--jsonAusgabe als JSON
--tenant <id>Tenant für diesen Befehl überschreiben
--config <pfad>Benutzerdefinierte Konfigurationsdatei verwenden
--no-colorFarbige Ausgabe deaktivieren
--quietAlle Ausgaben außer Fehlern unterdrücken
--verboseHTTP-Anfrage-/Antwortdetails anzeigen
--helpHilfe für den aktuellen Befehl anzeigen
--versionCLI-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 --global

auris login

Mit Auris authentifizieren. Öffnet ein Browser-Fenster für den OAuth2-PKCE-Flow.

auris login

auris whoami

Informationen über den aktuell authentifizierten Benutzer anzeigen.

auris whoami
Benutzer: Alice Smith E-Mail: [email protected] ID: usr_abc123 Rollen: admin, editor Tenant: my-tenant

auris test

Konnektivität zur konfigurierten Auris-Instanz testen.

auris test
Verbindung 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 --json
ID NAME TYP STATUS app_abc123 Meine Web-App WEB aktiv app_def456 Mobile App MOBILE aktiv app_ghi789 Reporting-Dienst M2M aktiv

auris applications create

Eine neue Anwendung interaktiv erstellen.

auris applications create # Ohne Interaktion (für Skripte) auris applications create \ --name "Meine API" \ --type M2M \ --non-interactive

auris 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 alice

Flags:

FlagBeschreibung
--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
--jsonAusgabe 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_abc123
ID: 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:00Z

auris 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-invite

Flags:

FlagBeschreibung
--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-inviteEinladungs-E-Mail an den neuen Benutzer senden
--non-interactiveKeine 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 viewer

auris 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] --yes

auris roles list

Alle Rollen im aktuellen Tenant auflisten.

auris roles list
ID NAME BESCHREIBUNG BENUTZER role_abc admin Vollständiger Admin-Zugriff 3 role_def editor Kann Inhalte bearbeiten 12 role_ghi viewer Nur-Lese-Zugriff 45

auris roles get <id-oder-name>

Detaillierte Informationen zu einer Rolle einschließlich ihrer Berechtigungen abrufen.

auris roles get admin auris roles get role_abc123

auris 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 billing

auris 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:

FlagBeschreibung
--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)
--followAlle 5 Sekunden nach neuen Einträgen abfragen (wie tail -f)
--jsonAusgabe als JSON-Array

auris generate

Code-Templates für häufige Integrationsmuster generieren.

# Verfügbare Templates anzeigen auris generate --list
Verfü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" --yes

Exit-Codes:

CodeBedeutung
0Erfolg
1Allgemeiner Fehler
2Konfigurationsfehler (fehlende Domain, Client-ID usw.)
3Authentifizierungsfehler (ungültiges oder abgelaufenes Token)
4Nicht gefunden (Benutzer, Rolle, Anwendung existiert nicht)
5Berechtigung 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 fi

CI/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-interactive

Skript-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