cnb-rs auth logout
cnb-rs auth logout [-u <username>]退出登录。默认退出当前 active 账号;-u/--user 指定退出某个保存账号(不要求是 active),对齐 gh auth logout --user。
仅移除本地存储的认证信息,不会撤销远程 Token。 如需撤销已生成的 Token,请访问 CNB 平台的 个人设置 > 访问令牌 页面。
根据 Token 来源执行不同操作:
- keyring — 从系统 keyring 中删除当前账号的 token,并更新本地账号元数据
- 配置文件 — 从
~/.cnb/config.toml中删除当前账号的明文 token 与账号元数据 - 域名特定环境变量(
CNB_TOKEN_{DOMAIN})— 无法通过 CLI 移除,提示用户手动清除 - 通用环境变量(
CNB_TOKEN)— 无法通过 CLI 移除,提示用户手动清除 - 未登录 — 提示当前未登录
如果当前域名下还保存了其他账号,移除当前账号后会自动切换到剩余账号中的第一个。
选项
-u, --user <USERNAME>: 指定要退出的用户名。传该 flag 时绕过环境变量检查(环境变量只影响 active token 推断,不影响按用户名精确退出 keyring/config)
继承的全局选项:
--domain <DOMAIN>: 指定要退出登录的目标域名(默认:cnb.cool)
示例
bash
# 正常退出(当前账号来自 keyring 或配置文件)
$ cnb-rs auth logout
✓ 已退出 octocat (cnb.cool)
# 指定域名退出
$ cnb-rs --domain example.com auth logout
✓ 已退出 alice (example.com)
# 退出当前账号后自动切换到其他已保存账号
$ cnb-rs auth logout
✓ 已退出 alice (cnb.cool),当前账号已切换为 octocat
# Token 来自环境变量时(Unix)
$ CNB_TOKEN=xxx cnb-rs auth logout
Token 来自环境变量 CNB_TOKEN,无法通过 CLI 移除
请手动执行:unset CNB_TOKEN
# Token 来自环境变量时(Windows PowerShell)
PS> $env:CNB_TOKEN="xxx"; cnb-rs auth logout
Token 来自环境变量 CNB_TOKEN,无法通过 CLI 移除
请手动执行:$env:CNB_TOKEN=""
# Token 来自域名特定环境变量时
$ CNB_TOKEN_cnbcool=xxx cnb-rs auth logout
Token 来自环境变量 CNB_TOKEN_cnbcool,无法通过 CLI 移除
请手动执行:unset CNB_TOKEN_cnbcool
# 未登录时
$ cnb-rs auth logout
未登录 (cnb.cool)
# 指定某个保存的账号退出(不是 active 也能退)
$ cnb-rs auth logout --user alice
✓ 已退出 alice (cnb.cool)
# 环境变量 active 时依然能用 --user 退出 keyring 里的账号
$ CNB_TOKEN=xxx cnb-rs auth logout --user alice
✓ 已退出 alice (cnb.cool)
# 未知用户 friendly bail
$ cnb-rs auth logout --user no_such_user
未找到账号 no_such_user (cnb.cool)