azure - 为什么 Microsoft Bot Framework 机器人需要 Azure AD 应用 ID 和 key ?

标签 azure azure-active-directory botframework

创建新的 Azure Web App Bot(或其后继“Azure Bot 资源”)时,可以自动创建新的 Azure AD 应用程序注册,也可以分配手动创建的注册。

为什么这是必要的?我看不到添加任何权限或任何其他可以解释此注册的内容。

让我更困惑的是:应用程序 ID 和 secret 最终出现在 appsettings.json 中。文件为MicrosoftAppIdMicrosoftAppPassword但它们似乎没有在任何地方被阅读。 此外,当在 Bot Framework Emulator 中本地运行机器人时,“App ID”和“Secret”的输入字段被标记为可选。如果发出 ID 和 key ,机器人将无法工作。但是,如果 appsettings.json 中的相应条目被删除,模拟器很高兴并且机器人可以工作。

如何解释这种行为?

最佳答案

感谢 @Thomas 和 @Rajesh Menoth 分享引用链接和您的意见

机器人安全性由您在向机器人框架注册机器人时获取的 Microsoft 应用 ID 和 Microsoft 应用密码进行配置。这些值通常在机器人的配置文件中指定,并用于从 Microsoft 帐户服务检索访问 token 。

您的机器人不需要管理身份验证 token ,因为 Azure 会使用 OAuth 2.0 根据每个用户的凭据生成 token 来为您管理身份验证 token 。你的机器人使用 Azure 生成的 token 来访问这些资源。这样,用户无需向机器人提供 ID 和密码即可访问安全资源,只需向受信任的身份提供商提供即可。

如果您想查找已部署机器人的 AppID 和 AppPassword

获取 Azure 机器人资源应用 ID

转到Azure 门户。

选择 Azure 机器人资源以获取其应用程序 ID。

在左 Pane 的“设置”部分中,选择“配置”。

复制并保存 Microsoft App ID 框中包含的值。

从 Azure Key Vault 获取 Azure 机器人资源密码

当 Azure 创建 Azure Bot 资源时,它会将应用密码存储在 Azure Key Vault 中。有关如何访问 key 保管库以获取密码的信息,

引用文档 Manage a bot - Bot Service | Microsoft Docs

关于azure - 为什么 Microsoft Bot Framework 机器人需要 Azure AD 应用 ID 和 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68574216/

相关文章:

java - 将 DirectoryObject 转换为用户

c# - #botframework 依赖注入(inject)

azure - Bot Framework - 产品的对话状态内存存储

azure - 如何使用 PowerShell 获取 azure 订阅的当前费用

c# - ASP.NET核心6 : permit Azure AD authentication and local authentication

asp.net - 适用于自定义 ASP.Net Web 应用程序的 Azure 多重身份验证

azure - B2C 自定义策略访问 token 导致 401 响应

botframework - 使用机器人框架创建谷歌助手应用程序

Azure Redis 部署失败终端配置

c# - Application Insights 从自定义数据源中清除数据