创建新的 Azure Web App Bot(或其后继“Azure Bot 资源”)时,可以自动创建新的 Azure AD 应用程序注册,也可以分配手动创建的注册。
为什么这是必要的?我看不到添加任何权限或任何其他可以解释此注册的内容。
让我更困惑的是:应用程序 ID 和 secret 最终出现在 appsettings.json
中。文件为MicrosoftAppId
和MicrosoftAppPassword
但它们似乎没有在任何地方被阅读。
此外,当在 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 保管库以获取密码的信息,
关于azure - 为什么 Microsoft Bot Framework 机器人需要 Azure AD 应用 ID 和 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68574216/