用途:为使用 MCP 服务器提供工具的 Microsoft 365 Copilot 声明式智能体添加 Entra SSO 登录,仅做身份验证,不包含令牌交换(OBO)或下游 Microsoft Graph 调用。支持两种 Widget 布局:MCP Apps(readiness_plugin.json + Express 服务器)与 OAI Apps(mcpPlugin.json + 原生 http 服务器),布局不明确时默认按 MCP Apps 处理。
主要能力:Phase 0 自动检测项目是否为 ui-widget-developer 产物,不是则停止;注册单租户 Entra 应用并配置 ATK OAuth;为 MCP 服务器注入 JWKS bearer token 校验与按请求的 claims 存储;把插件清单的运行时认证从 None 改为 OAuthPluginVault;写入 TENANT_ID、CLIENT_ID、APP_ID_URI;重新构建、验证并旁加载智能体。整个过程最小改动,不重构服务器。
使用方式:先刷新 PATH,将 $SsoScripts 指向脚本目录,再依次执行各阶段参考文件中的命令。工具依赖 Azure CLI、ATK CLI(>=1.1.8)、Dev Tunnel CLI、Node.js(>=20)。命令需在终端逐条执行(如 az version、atk --version、devtunnel --version、node --version)。
限制:仅支持 ui-widget 的 mcpPlugin.json 布局,不支持 ai-plugin.json(express-jwt)项目;不包含 OBO,Azure 部署应改用 Easy Auth;认证与开发隧道域名绑定,隧道 URL 变化会导致认证失效,需运行 resync-tunnel-url.ps1 重新同步。完整流程、字段说明与失败模式见 references/easy-auth.md 与 sso-explained.md。