Cms Auth Skills
by @spzwin
CMS 基础鉴权 Skill。任何业务接口 Header 需要 appKey 或 access-token 时都必须先触发本 Skill。支持从上下文、环境变量、sender_id+account_id、appKey换token,并在失败时向用户索要 appKey(工作协同 key / cowork key)。
clawhub install cms-auth-skills📖 About This Skill
name: cms-auth-skills description: CMS 基础鉴权 Skill。任何业务接口 Header 需要 appKey 或 access-token 时都必须先触发本 Skill。支持从上下文、环境变量、sender_id+account_id、appKey换token,并在失败时向用户索要 appKey(工作协同 key / cowork key)。 skillcode: cms-auth-skills github: https://github.com/xgjk/xg-skills/tree/main/cms-auth-skills priority: 1
cms-auth-skills
版本: v2.3.4
定位
appKey 或 access-tokenappKey = 工作协同 key = cowork keyAI 执行总规则
1. 先判断目标接口需要 appKey 还是 access-token
2. 再按固定优先级解析,不要跳步骤
3. 解析失败时,只向用户索要 appKey
4. appKey 解析与 access-token 解析是两个独立步骤:只需要 appKey 时,不要主动换 access-token
5. 统一通过 scripts/auth/login.py 执行,不需要读取或分析 scripts/auth/*.py 源码
支持能力(5 条)
1. 支持从上下文/显式参数直接获取 appKey、access-token
2. 支持从环境变量获取(并做判空):XG_BIZ_API_KEY、XG_USER_TOKEN
3. 支持通过 appKey 获取 access-token
4. 支持通过 sender_id + account_id 获取 appKey
5. 支持在自动解析失败时向用户索要 appKey
解析优先级(必须按顺序)
目标是 appKey
1. 上下文/显式 appKey
2. 环境变量 XG_BIZ_API_KEY
3. sender_id + account_id
4. 向用户索要 appKey
目标是 access-token
1. 上下文/显式 access-token
2. 上下文/显式 appKey -> 换 access-token
3. 环境变量 XG_USER_TOKEN
4. 环境变量 XG_BIZ_API_KEY -> 换 access-token
5. sender_id + account_id -> appKey -> access-token
6. 向用户索要 appKey
上下文字段兼容
appKey:appKey / app_key / appkeyaccess-token:access-token / access_token / tokensender_id:sender_id / senderId / send_id / sendIdaccount_id:account_id / accountIdCLI
推荐参数:
--app-key--access-token--sender-id--account-id--resolve-app-key--ensure--update兼容旧调用:
--context-json常用示例
# 直接返回 token
python3 login.py --ensure --access-token "your-token"用 appKey 换 token
python3 login.py --ensure --app-key "your-app-key"只解析 appKey
python3 login.py --resolve-app-key --sender-id "user-001" --account-id "xgjk_prod"兼容旧调用
python3 login.py --ensure --context-json '{"appKey":"your-app-key"}'