如何验证消息是否从 MS 团队发送到 Microsoft bot

时间:2021-07-22 21:56:17

标签: botframework chatbot microsoft-teams

在机器人处理消息之前,我想验证消息是否是从 MS 团队发送的,是否有人在冒充。

类似于此https://api.slack.com/authentication/verifying-requests-from-slack

2 个答案:

答案 0 :(得分:1)

我认为对您来说最好的方法是使用 Authentication flow for bots in Microsoft Teams 请参阅第 8.b 点:

<块引用>

验证从 Teams 收到的信息。两步验证 执行验证以确保授权机器人的用户 与身份提供者是同一个用户 机器人。这可以防止中间人和网络钓鱼攻击。这 bot 生成验证码并将其存储,与 用户。验证码由团队自动发送为 如下面所描述的。 (View code)

谢谢。

答案 1 :(得分:0)

每个“turnContext.Activity”都会包含Channel信息,所以在处理之前,可以在bot框架中识别channel。

turnContext.Activity.ChannelId

您可以通过以下方式处理活动。此处“频道”将成为“Microsoft Bot 连接器”包的一部分。

if (turnContext.Activity.ChannelId == Channels.Msteams)
   {
     //do your activity
   }

Microsoft Bot Connector 具有以下频道信息。

enter image description here

参考: