Accedere con keenauth login
keenauth login ti fa accedere con il tuo account della dashboard, così puoi gestire i tuoi ambienti dal terminale senza creare una chiave API. Per i job di CI e gli script, continua a usare una chiave API in KEENAUTH_API_KEY (vedi Interfaccia a riga di comando).
Comandi
| Comando | Cosa fa |
|---|---|
keenauth login |
Accedi con il flusso del dispositivo: la CLI mostra un indirizzo e un codice, tu apri l'indirizzo su un dispositivo qualsiasi, accedi alla dashboard e inserisci il codice. |
keenauth login --web |
Accedi nel browser su questo computer. La CLI apre la pagina di accesso e riceve il risultato su http://127.0.0.1:<port>/callback (oppure http://[::1]:<port>/callback); la richiesta è protetta con PKCE (S256), state e il parametro iss. |
keenauth whoami |
Mostra l'utente con cui hai effettuato l'accesso, l'organizzazione e l'ambiente selezionato. |
keenauth env use <environment_id> |
Seleziona l'ambiente che i comandi successivi gestiranno. Il control plane verifica che tu abbia un ruolo nella dashboard per quell'ambiente. |
keenauth env list |
Elenca gli ambienti su cui puoi lavorare, dal control plane. L'ambiente selezionato con env use è contrassegnato con *. |
keenauth logout |
Revoca la sessione sul server e la rimuove da questo computer. |
keenauth login
keenauth env use env_01j9z3c0000000000000000000
keenauth users list
Quando KEENAUTH_API_KEY è impostata, ha sempre la precedenza; la sessione salvata viene usata solo se non è impostata alcuna chiave API.
Elencare gli ambienti
keenauth env list chiede al control plane gli ambienti dell'account con cui hai effettuato l'accesso e nei quali hai un ruolo nella dashboard (GET /v1/environments, vedi Elenca i tuoi ambienti per la CLI). Serve una sessione; se non ce l'hai, ti chiede di eseguire keenauth login.
| Flag | Descrizione |
|---|---|
--limit |
Dimensione della pagina, da 1 a 100 (predefinito 20). |
--after |
Il cursore stampato dalla pagina precedente (more results: --after <cursor>). |
--all |
Segue le pagine ed elenca tutti gli ambienti. |
-o table|json|yaml |
Formato di output; la tabella contrassegna l'ambiente selezionato con *, mentre in JSON e YAML ogni riga ha current: true per esso. |
Un cursore --after non valido o di un'altra sessione viene rifiutato (invalid_cursor); esegui di nuovo il comando senza di esso.
Come funziona la sessione
- L'accesso emette un token di accesso di breve durata (5 minuti) e un refresh token (12 ore). Entrambi sono legati a una chiave DPoP (RFC 9449) creata su questo computer, quindi un token copiato non può essere usato da un'altra macchina. Il refresh token viene ruotato a ogni utilizzo.
- Per ogni comando la CLI chiede al control plane un token di gestione dell'ambiente selezionato. Questo token vale 10 minuti, è legato alla stessa chiave DPoP ed è mantenuto solo in memoria; non viene mai scritto su disco.
- Le richieste al tuo ambiente includono il token di gestione, una prova DPoP nuova e la tua identità nella dashboard. Il tuo ambiente verifica che tu abbia ancora un ruolo, quindi rimuovere il ruolo nella dashboard termina l'accesso della CLI entro pochi minuti.
Dove viene salvata la sessione
| Cosa | Dove |
|---|---|
| Issuer, ID utente, organizzazione, impronta della chiave DPoP, ambienti selezionati | config.json in KEENAUTH_CONFIG_DIR, oppure in keenauth nella tua directory di configurazione utente (modalità 0600) |
| Refresh token e chiave privata DPoP | Il portachiavi del sistema operativo: Keychain di macOS (security) o Secret Service su Linux (secret-tool) |
I segreti vengono passati allo strumento del portachiavi tramite lo standard input, mai come argomenti del comando. Se nessun portachiavi è disponibile (per esempio su Windows, o su un server Linux senza Secret Service), keenauth login si interrompe con un errore. Puoi allora passare --insecure-storage per salvare il refresh token e la chiave privata DPoP non cifrati in credentials.json (modalità 0600), accanto a config.json. La CLI mostra un avviso: chiunque possa leggere quel file può agire al posto tuo finché la sessione non scade. Su macchine condivise preferisci una chiave API.
Impostazioni
| Variabile | Predefinito | Descrizione |
|---|---|---|
KEENAUTH_LOGIN_ISSUER |
https://login.keenauth.com |
Il server di accesso. Deve essere un indirizzo https. |
KEENAUTH_CONTROL_URL |
https://api.keenauth.com/v1 |
Il control plane che emette i token di gestione. Deve essere un indirizzo https. |
KEENAUTH_CONFIG_DIR |
la tua directory di configurazione utente + keenauth |
Dove viene conservato config.json (e, con --insecure-storage, credentials.json). |
Errori
| Messaggio | Cosa fare |
|---|---|
you are not signed in / your session has expired or was revoked |
Esegui di nuovo keenauth login. Codice di uscita 3. |
no environment is selected |
Esegui keenauth env use <environment_id>. |
environment … does not exist or you have no dashboard role in it |
Controlla l'ID nella dashboard o chiedi a un proprietario un ruolo. |
no OS keychain is available |
Installa un portachiavi, usa --insecure-storage oppure usa una chiave API. |