Cloud CLI : Commandes d'authentification et de contexte
Exécutez des commandes d'authentification et de contexte pour la Medusa Cloud CLI.
Contraintes
mcloud login,mcloud signupetmcloud use(sans flags) nécessitent un TTY — ils échouent en CI, Docker ou avec une entrée en pipe. UtilisezMCLOUD_TOKENou passez les flags explicitement.- Quand
MCLOUD_TOKENest défini, les credentials basées sur des fichiers sont ignorés etmcloud loginest rejeté. Désenvironnez-le pour changer de compte. - Vérifiez toujours l'authentification avant toute commande modifiant l'état :
mcloud whoami --json | jq -e '.auth.kind != "none"'
Commandes
whoami
Affiche l'utilisateur authentifié, la méthode d'authentification et le contexte actif (organisation, projet, environnement).
mcloud whoami --json
Options :
--json— Sortie en JSON
À utiliser pour vérifier l'authentification et le scope :
mcloud whoami --json | jq -e '.auth.kind != "none" and .organization.id != null'
Code de sortie 0 = authentifié et scopé. Non-zéro = arrêt et demande à l'utilisateur.
use
Définit l'organisation, le projet et/ou l'environnement actifs afin que les commandes suivantes ignorent ces flags.
mcloud use \
--organization <org-id> \
--project <project-id-or-handle> \
--environment <environment-handle>
CRITIQUE : mcloud use sans flags est interactif et échoue en CI/Docker/entrée en pipe. Passez toujours les flags explicitement.
Options :
-o/--organization <id>— Définir l'organisation active-p/--project <id-or-handle>— Définir le projet actif-e/--environment <handle>— Définir l'environnement actif--clear— Effacer tout le contexte actif--json— Sortie en JSON
Effacer le contexte :
mcloud use --clear
version
Affiche la version de la CLI et les métadonnées de la plateforme.
mcloud version --json
Options :
--json— Sortie en JSON
login
S'authentifier auprès de Medusa Cloud. Ouvre un navigateur pour compléter l'authentification.
TTY requis. Ne peut pas être exécuté en CI, Docker ou dans des environnements non-interactifs. Utilisez
MCLOUD_TOKENà la place pour l'authentification non-interactive.
mcloud login
Alternative non-interactive :
export MCLOUD_TOKEN=<access-key>
Options :
-t/--token <token>— S'authentifier avec une clé d'accès sans navigateur (non-interactive)--json— Sortie en JSON
logout
Supprime les credentials stockés.
mcloud logout --json
Options :
--json— Sortie en JSON
signup
Crée un nouveau compte Medusa Cloud. Ouvre un navigateur.
TTY requis. Ne peut pas être exécuté dans des environnements non-interactifs.
mcloud signup
Méthodes d'authentification
| Méthode | Quand l'utiliser |
|---|---|
mcloud login (navigateur) |
Configuration interactive ; nécessite TTY |
mcloud login --token <key> |
Connexion non-interactive avec clé d'accès |
MCLOUD_TOKEN=<key> variable d'env |
CI/CD, Docker, environnements scriptés |
Exemples
# Vérifier l'authentification et le contexte actif
mcloud whoami --json
# Vérifier l'authentification avant d'exécuter des commandes
mcloud whoami --json | jq -e '.auth.kind != "none" and .organization.id != null'
# Définir le contexte complet (org + project + environment)
mcloud use \
--organization org_123 \
--project my-store \
--environment production
# Définir le contexte en résolvant les noms
ORGANIZATION_ID=$(mcloud organizations list --json | jq -r '.[] | select(.name == "My Org") | .id')
PROJECT_HANDLE=$(mcloud projects list --organization "$ORGANIZATION_ID" --json | jq -r '.[] | select(.name == "My Store") | .handle')
ENVIRONMENT_HANDLE=$(mcloud environments list --organization "$ORGANIZATION_ID" --project "$PROJECT_HANDLE" --json | jq -r '.[] | select(.name == "Production") | .handle')
mcloud use \
--organization "$ORGANIZATION_ID" \
--project "$PROJECT_HANDLE" \
--environment "$ENVIRONMENT_HANDLE"
# Effacer le contexte
mcloud use --clear
# Vérifier la version de la CLI
mcloud version --json
# Connexion non-interactive avec token
mcloud login --token <access-key>
# Déconnexion
mcloud logout