【发布时间】:2018-08-28 14:26:36
【问题描述】:
为了自动部署聊天机器人应用程序,我需要创建 MsaAppId 和 MsaAppPassword 并将它们传递给 Azure SDK 或 ARM 模板。
如果我去https://apps.dev.microsoft.com/#/appList 并在那里创建应用程序,我可以获得 MsaAppId 和 MsaAppPassword 并使用它。但是,当我尝试自动化部署过程时,这当然没有用。
我找到了两岁的question here on Stack Overflow,这也差不多。我能从中得到的是,我应该通过 Microsoft Graph API 来做到这一点。但是我不知道 API 是否发生了变化,但我无法重现被选为正确的答案中报告的相同结果。
当我使用类似的有效负载向同一端点发出请求时,这就是我从 API 得到的结果:
值得一提的是,我正在使用个人 @outlook.com 帐户登录 Azure。
我仍然不确定 MSA 应用和我的 Azure 帐户应用之间的关联。如果登录我的 azure 帐户并转到我的应用程序,我看不到通过 https://apps.dev.microsoft.com/#/appList 创建的应用程序(当然,我使用的是同一个帐户)。
【问题讨论】:
-
您能否详细说明“当我尝试自动化部署过程时,这当然没有用”?您通常不需要为每个部署提供新的 App ID。
-
@MarcLaFleur 当每个部署用于不同的应用程序时,您需要。我正在尝试创建一个 Web API,它能够创建和部署一个新的聊天机器人应用程序并将 DirectLine 密码返回给调用者。因此,如果我调用 API 10 次,我将部署 10 个不同的机器人应用程序。
-
我仍然不确定我是否理解您为什么需要不同的 App ID。生成多个 App ID 还意味着您需要多个用户同意流程(可能还有管理员同意流程,具体取决于您需要的范围)。
-
@MarcLaFleur 我不确定您是否熟悉 Azure 机器人服务。但是每个新的聊天机器人应用程序都需要唯一的 MsaAppId 和与之关联的 MsaAppPassword。因此,对于我的应用程序要部署的每个新聊天机器人,我需要提供不同的 MsaAppId 和不同的 MsaAppPassword。我需要将此信息放在我的应用程序代码的 Web.config 中。
-
Bot 注册包括一些超出传统应用注册的附加位。我怀疑你在这里寻找的是
Microsoft.Azure.Management.BotService。此 SDK 处理 bot 服务的管理端(与 Graph 或 Bot SDK 中的客户端相反)。
标签: azure azure-active-directory microsoft-graph-api