mcloud-auth

Par medusajs · medusa-agent-skills

Exécute les commandes d'authentification et de contexte mcloud : login, logout, whoami, use, version et signup. À utiliser lors de la configuration du CLI, du changement de compte, de la vérification de l'état d'authentification, de la définition du contexte actif org/projet/environnement, ou de la vérification de la version du CLI.

npx skills add https://github.com/medusajs/medusa-agent-skills --skill mcloud-auth

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 signup et mcloud use (sans flags) nécessitent un TTY — ils échouent en CI, Docker ou avec une entrée en pipe. Utilisez MCLOUD_TOKEN ou passez les flags explicitement.
  • Quand MCLOUD_TOKEN est défini, les credentials basées sur des fichiers sont ignorés et mcloud login est 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

Skills similaires