用途:该技能是 ctf-sandbox-orchestrator 的下游专用技能,仅在后者已激活并已确定沙箱假设、节点归属与证据优先级后使用;否则应先回到 ctf-sandbox-orchestrator。适用于难点在于证明 OAuth 或 OIDC 流程如何被构造、交换并最终被接受的场景。默认用简体中文回复,除非用户明确要求英文。
主要能力:按顺序梳理认证链,包括入口路由、重定向、authorize 请求、回调、令牌交换、刷新与最终接受服务;在改动前记录 scope、state、nonce、PKCE 材料、重定向 URI 与携带声明的令牌;区分令牌持有与实际身份接受;将浏览器可见重定向与后端可见令牌交换放在同一条紧凑链路中;复现能证明决定性身份边界的最小“重定向到接受”流程。
使用方式:先映射重定向与令牌路径,记录 issuer、client ID、重定向 URI、authorize 参数、回调参数、令牌端点与刷新路径,标注哪些值由用户控制、派生、缓存或校验(state、nonce、PKCE verifier、audience、scope、prompt)。再证明令牌到身份的接受过程,展示 code、ID token、access token 或 refresh token 如何转为应用会话、声明映射、租户选择或被接受的权限,记录令牌声明、过期、audience、subject、scope 及确切接受方,并区分 UI 登录成功与后端授权成功。最后压缩为最小序列:入口请求 -> 重定向 -> 回调 -> 令牌或声明接受 -> 结果能力;若参数变化重要,保留一条规范正常流程与一条最小变异流程。若任务扩展到认证链之外的通用 Web 路由或存储行为,应切回更广泛的 Web 运行时技能。
参考与限制:可加载 references/oauth-oidc-chain.md 获取重定向清单、令牌清单与证据打包。若难点在签发后的 JWT 头解析、声明规范化、密钥查找或令牌校验混淆,优先使用 $competition-jwt-claim-confusion。需保留重定向 URI、参数、code、令牌声明、scope 与接受服务或回调,以及声明或令牌成为被接受应用身份的确切点,和一条最小可重放的重定向到接受序列。