Se connecter avec keenauth login
keenauth login vous permet de vous connecter avec votre compte du tableau de bord, afin de gérer vos environnements depuis un terminal sans créer de clé d'API. Pour les tâches CI et les scripts, continuez à utiliser une clé d'API dans KEENAUTH_API_KEY (voir Interface de ligne de commande).
Commandes
| Commande | Description |
|---|---|
keenauth login |
Se connecte avec le flux d'appareil : la CLI affiche une adresse et un code, vous ouvrez l'adresse sur n'importe quel appareil, vous vous connectez au tableau de bord et saisissez le code. |
keenauth login --web |
Se connecte dans le navigateur de cet ordinateur. La CLI ouvre la page de connexion et reçoit le résultat sur http://127.0.0.1:<port>/callback (ou http://[::1]:<port>/callback) ; la requête est protégée par PKCE (S256), state et le paramètre iss. |
keenauth whoami |
Affiche l'utilisateur connecté, l'organisation et l'environnement sélectionné. |
keenauth env use <environment_id> |
Sélectionne l'environnement que gèrent les commandes suivantes. Le plan de contrôle vérifie que vous disposez d'un rôle dans le tableau de bord pour cet environnement. |
keenauth env list |
Affiche la liste des environnements sur lesquels vous pouvez travailler, à partir du plan de contrôle. L'environnement sélectionné avec env use est marqué d'un *. |
keenauth logout |
Révoque la session sur le serveur et la supprime de cet ordinateur. |
keenauth login
keenauth env use env_01j9z3c0000000000000000000
keenauth users list
Lorsque KEENAUTH_API_KEY est définie, elle est toujours prioritaire ; la session enregistrée n'est utilisée que si aucune clé d'API n'est définie.
Lister les environnements
keenauth env list demande au plan de contrôle les environnements du compte auquel vous êtes connecté et pour lesquels vous disposez d'un rôle dans le tableau de bord (GET /v1/environments, voir Lister vos environnements pour la CLI). Une session est nécessaire ; sans session, la commande vous demande d'exécuter keenauth login.
| Option | Description |
|---|---|
--limit |
Taille de page, de 1 à 100 (valeur par défaut : 20). |
--after |
Le curseur affiché par la page précédente (more results: --after <cursor>). |
--all |
Parcourt les pages et liste tous les environnements. |
-o table|json|yaml |
Format de sortie ; le tableau marque l'environnement sélectionné avec *, et en JSON et YAML chaque ligne contient current: true pour celui-ci. |
Un curseur --after invalide ou provenant d'un autre contexte est refusé (invalid_cursor) ; exécutez à nouveau la commande sans cette option.
Fonctionnement de la session
- La connexion délivre un jeton d'accès de courte durée (5 minutes) et un jeton de rafraîchissement (12 heures). Les deux sont liés à une clé DPoP (RFC 9449) créée sur cet ordinateur, si bien qu'un jeton copié ne peut pas être utilisé depuis une autre machine. Le jeton de rafraîchissement est renouvelé à chaque utilisation.
- Pour chaque commande, la CLI demande au plan de contrôle un jeton de gestion de l'environnement sélectionné. Ce jeton a une durée de vie de 10 minutes, est lié à la même clé DPoP et n'est conservé qu'en mémoire ; il n'est jamais écrit sur le disque.
- Les requêtes adressées à votre environnement transportent le jeton de gestion, une preuve DPoP récente et votre identité du tableau de bord. Votre environnement vérifie que vous disposez toujours d'un rôle ; la suppression de votre rôle dans le tableau de bord met donc fin à votre accès CLI en quelques minutes.
Emplacement de stockage de la session
| Élément | Emplacement |
|---|---|
| Émetteur, identifiant utilisateur, organisation, empreinte de la clé DPoP, environnements sélectionnés | config.json dans KEENAUTH_CONFIG_DIR, ou dans keenauth sous le répertoire de configuration de votre utilisateur (mode 0600) |
| Jeton de rafraîchissement et clé privée DPoP | Le trousseau du système d'exploitation : Trousseau d'accès macOS (security) ou Secret Service sous Linux (secret-tool) |
Les secrets sont transmis à l'outil de trousseau par l'entrée standard, jamais comme arguments de commande. Si aucun trousseau n'est disponible (par exemple sous Windows, ou sur un serveur Linux sans Secret Service), keenauth login s'arrête avec une erreur. Vous pouvez alors utiliser --insecure-storage pour stocker le jeton de rafraîchissement et la clé privée DPoP, non chiffrés, dans credentials.json (mode 0600), à côté de config.json. La CLI affiche un avertissement : toute personne capable de lire ce fichier peut agir en votre nom jusqu'à l'expiration de la session. Privilégiez une clé d'API sur les machines partagées.
Paramètres
| Variable | Valeur par défaut | Description |
|---|---|---|
KEENAUTH_LOGIN_ISSUER |
https://login.keenauth.com |
Le serveur de connexion. Doit être une adresse https. |
KEENAUTH_CONTROL_URL |
https://api.keenauth.com/v1 |
Le plan de contrôle qui délivre les jetons de gestion. Doit être une adresse https. |
KEENAUTH_CONFIG_DIR |
votre répertoire de configuration utilisateur + keenauth |
Emplacement de config.json (et, avec --insecure-storage, de credentials.json). |
Erreurs
| Message | Action à effectuer |
|---|---|
you are not signed in / your session has expired or was revoked |
Exécutez à nouveau keenauth login. Code de sortie 3. |
no environment is selected |
Exécutez keenauth env use <environment_id>. |
environment … does not exist or you have no dashboard role in it |
Vérifiez l'identifiant dans le tableau de bord ou demandez un rôle à un propriétaire. |
no OS keychain is available |
Installez un trousseau, utilisez --insecure-storage ou utilisez une clé d'API. |