关于 mcloud-auth
mcloud-auth 为 Medusa Cloud CLI 提供认证与上下文命令指南,适用于交互式操作及 CI、Docker 等非交互环境。它说明如何登录、检查身份与当前范围,以及设置组织、项目和环境。
主要功能
- 01浏览器登录与注册
- 02使用访问密钥登录
- 03通过 MCLOUD_TOKEN 认证
- 04检查身份与活动上下文
- 05设置或清除命令上下文
- 06提供 JSON 输出选项
适用场景
- 01验证执行状态变更前的认证
- 02在 CI 或 Docker 中配置认证
- 03切换活动组织、项目或环境
- 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