Microsoft Bot Framework .Net 中的 Directline API 和 OAuth2 有什么区别?

What's the difference between the Directline API and OAuth2 in Microsoft Bot Framework .Net?

我正在考虑如何在我的 Bot 项目中实施身份验证。我的老板希望 Azure 的 Directline API 作为我们的首选,但 Microsoft 团队没有提供有用的文档。另一个身份验证是来自 Azure 的 OAuth2。这两个相似吗?我知道他们都提供身份验证令牌。但我想听听你们的任何建议。

我需要将我的机器人嵌入到 React Web 应用程序中。我的计划是仅当用户在应用程序中登录时才使用机器人。因此,如果它在用户 type/send 向 Bot 发送消息时执行。我需要验证该请求等等。

机器人框架中的 Direct Line 服务(以及其他通道连接器)utilizes Oauth。连接器服务在聊天客户端和机器人(您的代码)之间存在(并处理通信)。这与验证和处理这些端点之间的通信有关。机器人资源(bot channels registrationweb app bot)实际上依赖于与该资源一起创建的 Azure AAD 应用程序(使用客户端密码等)。

此外,用户 身份验证可以完成,并且有关于如何实现的 bot 框架 SDK 示例(如果您需要示例,请告诉我)。

样本:

  • Here 是带有自述文件的 main 示例 repo。
  • Here 是 .NET (核心)具体的。
  • Here 是显示用户的示例 使用 OAuth 进行身份验证。请记住,这与客户端不同 (例如团队或 Slack 应用程序)或通道身份验证。 这是关于通过 OAuth 向机器人验证用户身份。这 自述文件已包含此 link,但请务必阅读并遵循 this article 关于如何添加身份验证。
  • Here 是样本 使用 OAuth,但也有利用它的调用,以调用 MSGraph.