繁体   English   中英

使用 Directline 通道通过 WebChat 使用 MS Botframework V4 (c#) 时,用户名在 stepContext.Context.Activity.From.Name 中不可用

[英]User Name not available in stepContext.Context.Activity.From.Name when using MS Botframework V4 (c#) over WebChat using Directline channel

问题陈述

我正在使用 MS Botframework V4 (c#) 通过 MS Web Chat 使用 Directline 频道。 已成功与 Azure Active Directory 集成,并且能够使用来自 MS 网络聊天小部件的 Azure AD 帐户成功进行身份验证/登录。

不幸的是,登录用户名在 stepContext.Context.Activity.From.Name 属性中不可用。

其他详情

以下是使用 MS Bot framework Emulator 调试时其他属性的值:
stepContext.Context.Activity.ChannelId :“模拟器”
stepContext.Context.Activity.CallerId : "urn:botframework:azure"
stepContext.Context.Activity.From.Name :“用户”
stepContext.Context.Activity.From.Role:“用户”
stepContext.Context.Activity.TextFormat :“普通”
stepContext.Context.Activity.Recipient.Name :“机器人”

视觉漫游

OAuthPrompt对话框中的登录按钮

OAuthPrompt 对话框中的登录按钮

显示 Active Directory 登录对话框

显示 Active Directory 登录对话框

六位数 OTP/令牌复制和粘贴为 ChatBot 输入

6 位 OTP/令牌复制和粘贴为 ChatBot 输入

登录成功后用户名不正确

登录成功后用户名不正确

客户端网络聊天/直线代码

客户端网络聊天/直线代码

MS Bot Framework Code 打印登录用户名

MS Bot Framework Code 打印登录用户名

询问

如果有人可以在使用 Azure Active Directory 凭据通过 MS Web 聊天使用 Direct Line 通道成功登录后帮助获取登录用户名,我们将不胜感激。

经过一些研究和耐心找到了解决方案

使用以下代码在提供它提到的 Active Directory OAuth Helper Class used Graph API to Get Logged-in User Name and Password上的 Graph API 权限后工作。

它无缝地工作。 在授予提到的 Graph API 权限后要耐心一点,因为它需要一段时间才能传播/应用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM