【问题标题】:ClaimsPrincipal Azure Bot FrameworkClaimsPrincipal Azure 机器人框架
【发布时间】:2021-01-03 19:21:15
【问题描述】:

这是一个关于在机器人聊天中获取用户信息的广义概念问题。最好是通过 OpenID 并从使用 Microsoft 帐户开始。我们希望能够读取用户显示名称、用户电子邮件地址、用户组成员资格等。在 Azure Bot Framework 中获取此信息的最佳方式是什么?在 MVC 中使用 OpenID 获取 ClaimsPrincipal 很容易,但是这个概念可以在 Azure Bot Framework 中使用吗?有没有这个过程的例子?

【问题讨论】:

  • 我已经阅读并测试了这个机器人样本:docs.microsoft.com/en-us/azure/bot-service/…。我可以看到令牌,但没有别的。这是否走在正确的道路上,这种身份验证机制是否允许读取其他用户声明属性?
  • 我相信我将采取的解决方案是从上面的示例中从 OAuth AD 获取令牌,然后使用该令牌查询 MS Graph API 以获取有关用户的信息。完成这项工作后,我将在此处发布解决方案的外观。

标签: botframework


【解决方案1】:

这有很多内容,但基本上我在 Bot 服务上使用 OAuth 连接将用户发送到 AADv2 端点以获取令牌。然后,我使用该令牌发送到 GraphServiceClient 方法(Nuget 包 Microsoft.Graph 的一部分)以获取用户信息。这是通过授予 Azure AD MS Graph User.Read API 权限中的应用来授予的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-26
    • 2018-04-25
    • 2018-04-21
    • 2015-11-03
    • 2017-11-11
    • 2014-03-16
    相关资源
    最近更新 更多