auth 命令组用于控制台登录与 SSO 鉴权:通过浏览器登录并存储短时 STS 凭据或仅保存用户 OIDC 会话、清除会话、查看当前身份、管理登录配置,以及为组织准备 CLI SSO 登录资源。login、logout、whoami 同时提供为顶层命令(如 agentkit login)。
选择登录方式时,先确定后续任务:
完成浏览器授权后,用
agentkit whoami 确认当前身份。账号身份正确仍需具备目标资源对应的权限
auth login
通过浏览器完成当前云厂商的控制台登录,或使用指定 SSO 地址登录。SSO 模式使用 OIDC 登录结果换取短时 STS 凭据;--identity-only 只保存用户 OIDC 会话,可供 harness invoke 在匹配的 custom_jwt Runtime 上自动转发用户 id_token,但不创建 AgentKit 管理凭据。通用 invoke run 调用 custom_jwt Runtime 时仍需通过 --headers 显式传入 Authorization。
登录地址与发现文档
传入[address] 时,CLI 会从该地址读取 /.well-known/agentkit-cli 登录发现文档。地址可以省略 https://;正式远程地址必须使用 HTTPS,只有本地测试地址可以使用 http://localhost、http://127.0.0.1 或 http://[::1]。地址不能包含用户名、密码、查询参数或 fragment。使用共享登录域名时,可以在域名后追加一个租户路径,例如 https://login.example.com/team-a;该路径必须是单段小写 slug,不能包含多级路径、路径遍历或编码后的路径分隔符。远程发现文档必须直接返回 JSON 对象,不能依赖重定向,响应体大小不能超过 64 KiB。
自定义租户地址的发现文档只能使用以下字段:
shared_harnesses 中最多发布 32 个别名;每个别名长度为 2 到 63,必须以小写字母或数字开头和结尾,中间可包含小写字母、数字和连字符。每个条目包含 runtime_id 与 endpoint,其中 endpoint 必须是无凭证、无路径、无查询参数、无 fragment 的 HTTPS origin。
身份仅登录不会提供控制面权限。需要解析 Runtime、管理资源或查询项目时,请另外配置 AK/SK,或使用普通
agentkit login 获取 STS 凭据。通过远程发现文档登录时,CLI 只会在浏览器登录和后续凭据处理成功后保存 profile。auth logout
清除已存储的 SSO 会话(刷新令牌与缓存的 STS 凭据)。auth whoami
显示当前凭据背后的身份。auth profile set
创建或更新某个配置的登录坐标(非机密信息)。~/.agentkit/auth。长效 refresh token 会优先写入操作系统密钥环;无法使用密钥环时,CLI 将会话文件以 0600 权限写入本地。身份仅会话不会保留 OAuth access token,CLI 也不会打印已存储的 token。
auth profile list
列出已保存的配置。auth profile show
显示某个配置的坐标。auth admin 子命令需要能管理 Identity、IAM 和 TOS 资源的云端凭证。可以使用 AK/SK,也可以使用当前 CLI SSO profile 中仍然有效的 STS 凭据。为避免管理操作被项目或全局端点覆盖影响,auth admin 会使用内置服务端点。
auth admin doctor
以只读方式检查账号能否完成 CLI SSO 接入,包括身份资源权限与凭证托管前置条件。检查未通过时命令返回非零退出码,并输出修复建议。auth admin create-userpool
创建用于 CLI SSO 登录的用户池,并以 JSON 输出用户池 ID。auth admin provision
为已有用户池创建或复用公开 CLI 客户端、IAM OIDC provider 和 STS 角色,并输出可发布的登录发现配置。auth admin sso-setup
一次性准备用户池、公开 CLI 客户端、IAM OIDC provider、STS 角色和 TOS 登录发现文档,最后输出可分发给终端用户的agentkit login <address> 地址。交互终端会询问是否复用用户池、是否配置上游身份提供方和是否使用自定义域名;非交互环境使用默认值或显式标志。
传入
--domain 时,命令会在发布后通过该 HTTPS 域名读取发现文档并校验内容。请先完成 CNAME 和证书配置;未通过公开访问校验时,命令不会把自定义域名作为最终登录地址输出。auth admin publish
为已有用户池创建或复用 CLI 登录资源,并把/.well-known/agentkit-cli 发现文档发布到指定 TOS bucket。也可以传入已有的 OIDC 与 IAM 坐标,仅发布发现文档而不重新创建 CLI 客户端、OIDC provider 或角色。
--issuer、--client-id、--role-trn 和 --provider-trn 四个参数同时提供。--issuer 必须是 HTTPS URL,不能包含用户名、密码、查询参数或 fragment;--role-trn 与 --provider-trn 必须属于当前鉴权账号。--bucket 必须是 3 到 63 个小写字母、数字或连字符组成的 TOS bucket 名称,并以字母或数字开头和结尾。
控制台登录与凭据优先级
不传地址时优先使用当前云厂商已有的登录配置;无配置时进入控制台登录。--console 强制切换到控制台,--remote 用于远程服务器或无法接收本地浏览器回调的终端。控制台模式不能与 SSO 地址或 --identity-only 同时使用
whoami 和 logout 按当前云厂商选择会话。已配置的有效环境凭据仍优先于登录缓存,不会被登录覆盖
需要云凭据的命令在交互终端缺少凭据时可启动浏览器登录。全局 --no-auto-login 禁止自动登录;CI、--json、--raw、--yes 或非交互终端也不会弹出自动登录,需事先提供凭据。纯本地操作和 --dry-run 不触发此流程
退出登录只清除 CLI 保存的会话,不会撤销环境变量中的 AK/SK,也不会关闭浏览器中的云控制台会话。若退出后命令仍能访问资源,先检查当前终端是否仍导出了有效云端凭证