Anmelden mit keenauth login
keenauth login meldet Sie mit Ihrem Dashboard-Konto an, damit Sie Ihre Umgebungen über ein Terminal verwalten können, ohne einen API-Schlüssel zu erstellen. Für CI-Jobs und Skripte verwenden Sie weiterhin einen API-Schlüssel in KEENAUTH_API_KEY (siehe Kommandozeilenschnittstelle).
Befehle
| Befehl | Funktion |
|---|---|
keenauth login |
Meldet mit dem Geräteablauf an: Die CLI gibt eine Adresse und einen Code aus, Sie öffnen die Adresse auf einem beliebigen Gerät, melden sich am Dashboard an und geben den Code ein. |
keenauth login --web |
Meldet im Browser auf diesem Computer an. Die CLI öffnet die Anmeldeseite und empfängt das Ergebnis unter http://127.0.0.1:<port>/callback (oder http://[::1]:<port>/callback); die Anfrage ist mit PKCE (S256), state und dem Parameter iss geschützt. |
keenauth whoami |
Zeigt den angemeldeten Benutzer, die Organisation und die ausgewählte Umgebung an. |
keenauth env use <environment_id> |
Wählt die Umgebung aus, die spätere Befehle verwalten. Die Control Plane prüft, ob Sie dort eine Dashboard-Rolle haben. |
keenauth env list |
Listet die Umgebungen auf, an denen Sie arbeiten können, von der Control Plane. Die mit env use ausgewählte Umgebung ist mit * markiert. |
keenauth logout |
Widerruft die Sitzung auf dem Server und entfernt sie von diesem Computer. |
keenauth login
keenauth env use env_01j9z3c0000000000000000000
keenauth users list
Wenn KEENAUTH_API_KEY gesetzt ist, hat er immer Vorrang; die gespeicherte Sitzung wird nur verwendet, wenn kein API-Schlüssel gesetzt ist.
Umgebungen auflisten
keenauth env list fragt bei der Control Plane die Umgebungen des Kontos ab, bei dem Sie angemeldet sind und in denen Sie eine Dashboard-Rolle haben (GET /v1/environments, siehe Ihre Umgebungen für die CLI auflisten). Dafür wird eine Sitzung benötigt; ohne sie werden Sie aufgefordert, keenauth login auszuführen.
| Flag | Beschreibung |
|---|---|
--limit |
Seitengröße, 1 bis 100 (Standard 20). |
--after |
Der Cursor, den die vorherige Seite ausgegeben hat (more results: --after <cursor>). |
--all |
Durchläuft die Seiten und listet jede Umgebung auf. |
-o table|json|yaml |
Ausgabeformat; die Tabelle markiert die ausgewählte Umgebung mit *, und in JSON und YAML hat jede Zeile dafür current: true. |
Ein ungültiger oder fremder --after-Cursor wird abgelehnt (invalid_cursor); führen Sie den Befehl erneut ohne ihn aus.
Funktionsweise der Sitzung
- Die Anmeldung stellt ein kurzlebiges Zugriffstoken (5 Minuten) und ein Aktualisierungstoken (12 Stunden) aus. Beide sind an einen DPoP-Schlüssel (RFC 9449) gebunden, der auf diesem Computer erstellt wurde, sodass ein kopiertes Token nicht von einem anderen Computer verwendet werden kann. Das Aktualisierungstoken wird bei jeder Verwendung rotiert.
- Für jeden Befehl fragt die CLI bei der Control Plane ein Management-Token der ausgewählten Umgebung an. Dieses Token ist 10 Minuten gültig, ist an denselben DPoP-Schlüssel gebunden und wird nur im Arbeitsspeicher gehalten; es wird nie auf die Festplatte geschrieben.
- Anfragen an Ihre Umgebung enthalten das Management-Token, einen frischen DPoP-Nachweis und Ihre Dashboard-Identität. Ihre Umgebung prüft, ob Sie noch eine Rolle haben; das Entfernen Ihrer Dashboard-Rolle beendet daher Ihren CLI-Zugriff innerhalb weniger Minuten.
Speicherort der Sitzung
| Was | Wo |
|---|---|
| Aussteller, Benutzer-ID, Organisation, Fingerabdruck des DPoP-Schlüssels, ausgewählte Umgebungen | config.json in KEENAUTH_CONFIG_DIR oder in keenauth unter Ihrem Benutzerkonfigurationsverzeichnis (Modus 0600) |
| Aktualisierungstoken und privater DPoP-Schlüssel | Der Schlüsselbund des Betriebssystems: macOS-Schlüsselbund (security) oder der Secret Service unter Linux (secret-tool) |
Die Geheimnisse werden dem Schlüsselbund-Tool über die Standardeingabe übergeben, niemals als Befehlsargumente. Ist kein Schlüsselbund verfügbar (zum Beispiel unter Windows oder auf einem Linux-Server ohne Secret Service), bricht keenauth login mit einem Fehler ab. Sie können dann --insecure-storage übergeben, um das Aktualisierungstoken und den privaten DPoP-Schlüssel unverschlüsselt in credentials.json (Modus 0600) neben config.json zu speichern. Die CLI gibt eine Warnung aus: Jeder, der diese Datei lesen kann, kann bis zum Ablauf der Sitzung in Ihrem Namen handeln. Verwenden Sie auf gemeinsam genutzten Computern bevorzugt einen API-Schlüssel.
Einstellungen
| Variable | Standard | Beschreibung |
|---|---|---|
KEENAUTH_LOGIN_ISSUER |
https://login.keenauth.com |
Der Anmeldeserver. Muss eine https-Adresse sein. |
KEENAUTH_CONTROL_URL |
https://api.keenauth.com/v1 |
Die Control Plane, die Management-Tokens ausstellt. Muss eine https-Adresse sein. |
KEENAUTH_CONFIG_DIR |
Ihr Benutzerkonfigurationsverzeichnis + keenauth |
Wo config.json (und mit --insecure-storage credentials.json) abgelegt wird. |
Fehler
| Meldung | Was zu tun ist |
|---|---|
you are not signed in / your session has expired or was revoked |
Führen Sie keenauth login erneut aus. Exit-Code 3. |
no environment is selected |
Führen Sie keenauth env use <environment_id> aus. |
environment … does not exist or you have no dashboard role in it |
Prüfen Sie die ID im Dashboard oder bitten Sie einen Inhaber um eine Rolle. |
no OS keychain is available |
Installieren Sie einen Schlüsselbund, verwenden Sie --insecure-storage oder einen API-Schlüssel. |