mcpField
M
mcloud-auth

mcloud-auth

github.com/medusajs云与 DevOps234173 次安装1 周前更新
代码仓库

关于 mcloud-auth

mcloud-auth 为 Medusa Cloud CLI 提供认证与上下文命令指南,适用于交互式操作及 CI、Docker 等非交互环境。它说明如何登录、检查身份与当前范围,以及设置组织、项目和环境。

主要功能

  1. 01浏览器登录与注册
  2. 02使用访问密钥登录
  3. 03通过 MCLOUD_TOKEN 认证
  4. 04检查身份与活动上下文
  5. 05设置或清除命令上下文
  6. 06提供 JSON 输出选项

适用场景

  1. 01验证执行状态变更前的认证
  2. 02在 CI 或 Docker 中配置认证
  3. 03切换活动组织、项目或环境
  4. 04确认当前账号与操作范围

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/mcloud-auth确认已加载。

详细介绍

Cloud CLI:身份验证与上下文命令

执行 Medusa Cloud CLI 的身份验证和上下文命令。

限制

  • mcloud login、mcloud signup 和 mcloud use(不带标志)需要 TTY — 在 CI、Docker 或管道输入中会失败。请改用 MCLOUD_TOKEN 或显式传入标志。
  • 设置 MCLOUD_TOKEN 后,将忽略基于文件的凭据,并拒绝执行 mcloud login。取消设置该变量即可切换账号。
  • 在执行任何会更改状态的命令前,务必验证身份验证状态:mcloud whoami --json | jq -e '.auth.kind != "none"'

命令

whoami

显示已通过身份验证的用户、身份验证方式和当前上下文(组织、项目、环境)。

mcloud whoami --json

选项:

  • --json — 以 JSON 格式输出

用于验证身份验证状态和作用范围:

mcloud whoami --json | jq -e '.auth.kind != "none" and .organization.id != null'

退出代码 0 = 已通过身份验证且已设定作用范围。非零 = 停止并提示用户。

use

设置当前组织、项目和/或环境,使后续命令无需再指定这些标志。

mcloud use \
  --organization <org-id> \
  --project <project-id-or-handle> \
  --environment <environment-handle>

重要: 不带标志的 mcloud use 是交互式命令,在 CI、Docker 或管道输入中会失败。务必显式传入标志。

选项:

  • -o/--organization <id> — 设置当前组织
  • -p/--project <id-or-handle> — 设置当前项目
  • -e/--environment <handle> — 设置当前环境
  • --clear — 清除所有当前上下文
  • --json — 以 JSON 格式输出

清除上下文:

mcloud use --clear
version

打印 CLI 版本和平台元数据。

mcloud version --json

选项:

  • --json — 以 JSON 格式输出
login

通过 Medusa Cloud 进行身份验证。打开浏览器以完成身份验证。

需要 TTY。 不能在 CI、Docker 或非交互环境中运行。非交互式身份验证请改用 MCLOUD_TOKEN。

mcloud login

非交互式替代方式:

export MCLOUD_TOKEN=<access-key>

选项:

  • -t/--token <token> — 使用访问密钥进行身份验证,无需打开浏览器(非交互式)
  • --json — 以 JSON 格式输出
logout

移除已存储的凭据。

mcloud logout --json

选项:

  • --json — 以 JSON 格式输出
signup

创建新的 Medusa Cloud 账号。打开浏览器。

需要 TTY。 不能在非交互环境中运行。

mcloud signup

身份验证方式

方式使用场景
mcloud login(浏览器)交互式设置;需要 TTY
mcloud login --token <key>使用访问密钥进行非交互式登录
MCLOUD_TOKEN=<key> 环境变量CI/CD、Docker、脚本化环境

示例

# Check authentication and active context
mcloud whoami --json

# Verify auth before running commands
mcloud whoami --json | jq -e '.auth.kind != "none" and .organization.id != null'

# Set full context (org + project + environment)
mcloud use \
  --organization org_123 \
  --project my-store \
  --environment production

# Set context by resolving names
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"

# Clear context
mcloud use --clear

# Check CLI version
mcloud version --json

# Non-interactive login with token
mcloud login --token <access-key>

# Logout
mcloud logout

评论

支持 Markdown