如何使用消息扩展在任务模块中进行身份验证



我正在尝试开发一个需要登录的消息扩展,我正在使用基于启动操作的ME。在任务模块中,要对用户进行身份验证

对服务的每个请求都包括执行请求的用户的模糊 ID,以及用户的显示名称和 Azure Active Directory 对象 ID。

"from": {
"id": "29:1C7dbRrC_5yzN1RGtZIrcWT0xz88KPGP9sxdpVpV8sODlgPHeQE9RqQ02hnpuKzy6zZ-AaZx6swUOMj_Dsdse3TQ4sIaeebbFBF-VgjJy_nY",
"name": "Larry Jin",
"aadObjectId": "cd723fa0-0591-416a-9290-e93ecf3a9b92"
}

id 和 aadObjectId 值保证是经过身份验证的团队用户的值。它们可以用作密钥来查找凭据或服务中的任何缓存状态。

如果你的服务需要用户身份验证,则需要先让用户登录,然后他或她才能使用消息传递扩展。如果已编写用于登录用户的机器人或选项卡,则本部分应该很熟悉。

顺序如下:

  1. 用户发出查询,或默认查询自动发送到 您的服务。
  2. 您的服务检查用户是否首先具有 通过检查团队用户 ID 进行身份验证。
  3. 如果用户没有 经过身份验证,发回带有建议的 openUrl 的身份验证响应 操作,包括身份验证 URL。
  4. Microsoft Teams 客户端启动一个弹出窗口,使用给定的身份验证 URL 托管你的网页。
  5. 用户登录后,应关闭窗口并向 Teams 客户端发送"身份验证代码"。
  6. 然后,Teams 客户端将查询重新发出到服务,其中包括 在步骤 5 中传递的身份验证代码。您的服务应验证 在步骤 6 中收到的身份验证代码与来自 第5步。

这可确保恶意用户不会尝试欺骗或破坏登录流。这有效地"闭环"以完成安全身份验证序列。

下面是向消息扩展添加身份验证的详细信息链接。

最新更新