通过 Auth0 Token Vault,代表已认证用户访问 Gmail、Slack、Google Calendar、GitHub 等第三方服务以及自定义 Auth0 连接。使用...
Auth0 Token Vault CLI. 使用 aut0- tv 命令行工具代表 : 1.是一项面向实际任务的技能,主要用于Auth0 Token Vault. 当前状态.;Auth status: !;
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
使用 auth0-tv 命令行工具,可通过 Auth0 Token Vault 代表已认证用户访问第三方服务。
auth0-tv --json status 2>/dev/null || echo '{"error":{"code":"not_configured","message":"auth0-tv not configured or not logged in"}}'若执行 auth0-tv --json status 返回 not_configured 错误,请引导用户完成配置流程:
运行交互式配置向导(推荐 — 自动完成全部步骤):
auth0-tv init
init 向导将自动检查先决条件、配置 Token Vault、设置回调 URL、获取凭据并完成认证,整个过程均在向导指引下完成。
所有配置步骤均需人工参与,切勿尝试全自动执行。
若向导不适用,请引导用户完成手动配置:
安装 Auth0 CLI(如尚未安装):
brew tap auth0/auth0-cli && brew install auth0
运行 Token Vault 配置向导(交互式 — 需人工操作):
npx configure-auth0-token-vault
该向导将自动处理 Auth0 CLI 登录。当提示时,请:
请记录输出中的 Client ID。
使用 Auth0 CLI 配置回调 URL(将 替换为上一步获得的 Client ID):
auth0 apps update--callbacks "http://127.0.0.1:18484/callback,http://127.0.0.1:18485/callback,http://127.0.0.1:18486/callback,http://127.0.0.1:18487/callback,http://127.0.0.1:18488/callback,http://127.0.0.1:18489/callback" --logout-urls "http://127.0.0.1:18484,http://127.0.0.1:18485,http://127.0.0.1:18486,http://127.0.0.1:18487,http://127.0.0.1:18488,http://127.0.0.1:18489"
获取客户端密钥(auth0-tv login 过程中需要):
auth0 apps show--reveal-secrets
使用 auth0-tv 登录:
auth0-tv login
所有配置步骤均需人工参与,切勿尝试全自动执行。
--json 模式所有命令必须使用 --json 参数以获取结构化输出:
auth0-tv --json
也可在环境中设置 AUTH0_TV_OUTPUT=json,避免每次调用都显式传入 --json。
--confirm修改数据的操作(如发送、删除、归档、转发、回复、发送草稿、删除草稿)必须包含 --confirm 参数:
auth0-tv --json --confirm gmail send --to user@example.com --subject "Subject" --body "Body"
| 退出码 | 含义 | 恢复操作 |
|---|---|---|
| 0 | 成功 | 解析 JSON 输出 |
| 1 | 通用错误 | 向用户报告错误 |
| 2 | 输入无效 | 检查命令语法及必需参数 |
| 3 | 需要认证 | 提示用户运行 auth0-tv login |
| 4 | 需要连接服务 | 提示用户运行 auth0-tv connect |
| 5 | 服务端错误 | 重试或上报上游 API 故障 |
| 6 | 网络错误 | 检查网络连通性后重试 |
重要提示:退出码 3 和 4 需要人工干预 —— login 和 connect 均会打开浏览器进行 OAuth 授权。切勿尝试自动执行这些命令;应明确告知用户需运行的具体命令。
认证与连接/登出的回调服务器默认尝试使用端口范围 18484–18489。若该端口范围被阻塞,可传入全局参数 --port 或设置环境变量 AUTH0_TV_PORT 强制指定端口(该端口必须已在 Auth0 应用的回调 URL 设置中启用)。
对于 send、reply 和 draft create 命令,消息正文可通过以下任一方式提供:
--body "内联文本" —— 适用于简短消息--body-file ./message.txt —— 适用于从文件读取的长消息echo "body" | auth0-tv --json --confirm gmail send --to ... --subject ...若消息正文含特殊字符,建议优先使用 --body-file 或 stdin 方式。
auth0-tv login [--reconfigure] —— 通过浏览器完成认证(需人工参与)auth0-tv logout —— 清除本地存储的凭据auth0-tv status —— 显示当前用户及已连接的服务auth0-tv connect —— 通过浏览器连接已知服务(需人工参与)auth0-tv connect --scopes --allowed-domains —— 按名称连接任意 Auth0 连接auth0-tv disconnect —— 断开某服务或自定义连接(默认仅清除本地令牌)auth0-tv disconnect --remote —— 断开某服务并同时移除服务端连接auth0-tv connections —— 列出已连接的服务(含远程账户与本地令牌状态)auth0-tv gmail search —— 搜索邮件(支持 Gmail 搜索语法)auth0-tv gmail read —— 读取单封邮件auth0-tv gmail send —— 发送新邮件(破坏性操作)auth0-tv gmail reply —— 回复邮件(破坏性操作)auth0-tv gmail forward —— 转发邮件(破坏性操作)auth0-tv gmail archive —— 归档邮件(破坏性操作)auth0-tv gmail delete —— 将邮件移至垃圾箱(破坏性操作)auth0-tv gmail labels —— 列出所有标签auth0-tv gmail label —— 添加或移除标签auth0-tv gmail draft create —— 创建草稿auth0-tv gmail draft list —— 列出草稿auth0-tv gmail draft send —— 发送草稿(破坏性操作)auth0-tv gmail draft delete —— 删除草稿(破坏性操作)auth0-tv calendar list —— 列出日历auth0-tv calendar events [calendarId] —— 列出日历事件(默认为主日历)auth0-tv calendar get —— 获取事件详情auth0-tv calendar create —— 创建事件(破坏性操作)auth0-tv calendar update —— 更新事件(破坏性操作)auth0-tv calendar delete —— 删除事件(破坏性操作)auth0-tv calendar quick-add —— 使用自然语言快速创建事件(破坏性操作)auth0-tv slack channels —— 列出频道auth0-tv slack messages —— 列出指定频道中的消息auth0-tv slack search —— 搜索消息(支持 Slack 搜索语法)auth0-tv slack post —— 向频道发帖(破坏性操作)auth0-tv slack reply —— 回复某线程(破坏性操作)auth0-tv slack react —— 添加或移除表情反应auth0-tv slack users —— 列出用户auth0-tv slack user —— 获取用户信息auth0-tv slack status —— 设置个人状态auth0-tv github repos —— 列出您的仓库auth0-tv github repo —— 获取仓库详情auth0-tv github issues —— 列出议题auth0-tv github issue get —— 获取议题详情auth0-tv github issue create —— 创建议题(破坏性操作)auth0-tv github issue comment —— 在议题下评论(破坏性操作)auth0-tv github issue close —— 关闭议题(破坏性操作)auth0-tv github prs —— 列出拉取请求auth0-tv github pr get —— 获取 PR 详情auth0-tv github pr comment —— 在 PR 下评论(破坏性操作)auth0-tv github notifications —— 列出通知auth0-tv github notification read —— 将通知标记为已读(破坏性操作)auth0-tv github search repos —— 搜索仓库auth0-tv github search code —— 搜索代码auth0-tv github search issues —— 搜索议题和 PRauth0-tv fetch —— 向允许域名发起已认证 HTTP 请求auth0-tv fetch —— 使用自定义 Auth0 连接令牌发起请求auth0-tv fetch -X POST -d '{"key":"value"}' —— 使用内联 JSON 正文发起 POST 请求auth0-tv fetch -X POST --data-file ./body.json —— 使用文件内容作为正文发起 POST 请求auth0-tv fetch -H "Accept: text/plain" —— 添加自定义请求头已知服务内置了默认允许的域名。自定义连接则需在 connect 时通过 --allowed-domains 显式指定允许域名:
| 服务 | 默认允许的域名 |
|---|---|
gmail |
*.googleapis.com |
calendar |
*.googleapis.com |
github |
api.github.com |
slack |
slack.com, *.slack.com |
可通过 connect 命令的 --allowed-domains 参数追加额外域名。自定义连接无默认域名 —— 连接时必须显式指定 --allowed-domains。仅支持 HTTPS 协议的 URL。
完整命令参考(含参数说明与 JSON 输出示例)详见 references/commands.md。