用途:将 auth.config.json 连接到 Power Apps Wrap 移动应用所需的 Entra ID 应用注册。本技能对 Entra ID 为只读,不创建或修补应用注册,也不应指引用户手动添加重定向 URI 或 API 权限。
工作流:验证应用根目录(需存在 auth.config.json、app.config.js、power.config.json)→ 解析环境与租户 → 发现并检查注册 → 选择或创建 → 写入 auth.config.json → 校验 JSON → 输出摘要。
主要能力:使用 discover-app-registrations.js 列出当前 Azure CLI 登录用户可读的租户应用注册,并按原生运行时权限配置给出 passesRequiredPermissions 布尔结果。基础检查要求 Dynamics CRM user_impersonation 与 Power Platform API PowerApps.Apps.Read;当存在非 Dataverse 连接器时加 --include-connectors,额外要求 Azure API Connections Runtime.All 及 Connectivity 相关权限。不要求 Microsoft Graph、PowerApps Service、Power BI、MAM 等无关范围。
使用方式:先运行 node "${PLUGIN_ROOT}/scripts/discover-app-registrations.js" --tenant-id "$TENANT_ID" $CONNECTOR_PERMISSION_ARG。分页展示结果,支持输入序号、next、previous、paste,或选择在 Wrap 中新建注册、暂时跳过。选定后写入 msal.clientId 与 msal.tenantId,保留顶层 environment;不写令牌、密钥或当前用户 Dataverse 身份字段,不修改 src/playerConfig.ts。最后校验:node -e "JSON.parse(require('fs').readFileSync('auth.config.json','utf8')); console.log('auth.config.json OK')"。
限制:发现为尽力而为;任何非零退出、Graph 错误、租户不匹配或空列表都视为发现失败,不重试、不要求用户修复 Azure CLI 认证,转而接受粘贴的 GUID 并将权限检查标记为未验证。部分权限修复需要 Azure 租户管理员。Wrap 仍是重定向平台、打包权限、第三方应用允许列表和管理员同意的最终权威。跳过后 clientId 留空,应用将无法登录,可稍后重跑本技能。创建注册须通过环境相关 Wrap 页面:https://make.powerapps.com/environments/<environment-id>/wraps#create-app-registration。