SuperAPI AI 工具集

auth

安全与审计

查看项目

更新于 10-16 00:30

技能介绍

用途:该技能在代码涉及令牌管理、凭据解析、Git 认证流程,或出现 GITHUB_APM_PAT、ADO_APM_PAT、AuthResolver、HostInfo、AuthContext 等内容时激活,用于规范认证相关改动。

主要能力:覆盖修改 src/apm_cli/core/auth.py 与 token_manager.py、读取 GITHUB_APM_PAT、GITHUB_TOKEN、GH_TOKEN、ADO_APM_PAT、使用 git ls-remote / git clone / GitHub 与 ADO API 调用、涉及凭据的错误消息,以及 github_downloader.py 认证路径和按主机/组织的令牌解析逻辑。

关键规则:所有认证流程必须经过 AuthResolver,应用代码不得对令牌变量直接使用 os.getenv()。完整解析流程(按组织→全局→凭据填充→回退)见 docs/src/content/docs/getting-started/authentication.md 的 mermaid 流程图,视为唯一事实来源;行为若不一致,应在同一 PR 中修正该图。

ADO 处理:ADO 主机(dev.azure.com、*.visualstudio.com)按顺序解析——先 ADO_APM_PAT 环境变量;若已安装 az 且 az account show 成功,则使用 az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 获取 AAD bearer;否则由 build_error_context 返回认证失败错误。AAD bearer 来源常量是 GitHubTokenManager.ADO_BEARER_SOURCE = "AAD_BEARER_AZ_CLI"。若 ADO_APM_PAT 以 HTTP 401 被拒,会改用 az bearer 并提示考虑取消该过期变量。

诊断覆盖:未设 PAT 且无 az(建议安装 az、运行 az login --tenant <tenant> 或设置 ADO_APM_PAT)、未设 PAT 且 az 未登录、未设 PAT 且租户不匹配、PAT 401 且无 az 回退等情形。

限制:资料未提供更多平台支持、费用或价格信息。