我们想获取用户在 Azure Active Directory 中的工作信息

We want to get user's job info of Azure Active Direcotry

我正在尝试通过 Teams 渠道获取 Azure Active Directory 的用户信息。

我可以用 TeamsInfo.get_memeber() 获得 TeamsChannelAccount 对象,但 AAD 的用户工作信息不在 TeamsChannelAccount 对象中。

如何使用 botframework sdk 从 Teams 的 turn_context 获取用户的工作信息?

如果您希望您的机器人在任何渠道中检索 AAD 信息,您的机器人将需要使用 OAuth 对用户进行身份验证。参见 here and here

如果您不想让用户在他们已经登录到 Teams 时登录到 AAD,您也可以让机器人使用它从 Teams 获得的信息来查找您的任何其他工作信息公司的数据库。我怀疑您会想要使用用户的电子邮件地址来执行此操作,但您可能会使用 TeamsChannelAccount class 中可用的其他属性。如果还没有,您需要为机器人设置某种 API 来访问数据。

根据您的灵活性,第三种解决方案可能是使用 Teams single sign-on. This is only available in Teams tabs and not Teams conversations, so rather than having an actual Teams bot you'd just have a Web Chat bot 托管在可在“团队”选项卡中访问的页面上。请注意,此解决方案非常先进,Teams SSO 仍处于开发人员预览阶段。