微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Directline通道通过WebChat使用MS Botframework V4c#时,stepContext.Context.Activity.From.Name中的用户名不可用

如何解决使用Directline通道通过WebChat使用MS Botframework V4c#时,stepContext.Context.Activity.From.Name中的用户名不可用

问题陈述

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

很遗憾登录用户名在stepContext.Context.Activity.From.Name属性中不可用。

其他详细信息

以下是使用MS Bot框架模拟器进行调试时其他属性的值:
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:"Bot“

视觉漫游

OAuthPrompt 对话框中的登录按钮

Sign-In Button from OAuthPrompt dialog

显示Active Directory登录对话框

Shows Active Directory Sign-In Dialog

要复制并粘贴为chatbot输入的六位数OTP /令牌

6 Digit OTP/Token to copy and Paste as ChatBot input

成功登录用户名不正确

Incorrect User Name after Successful Sign-in

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

Client Side Web Chat / Direct Line code

MS Bot Framework代码打印登录用户名

MS Bot Framework Code printing the Logged-in User Name

查询

如果在通过Direct Line通道通过MS Web聊天成功使用Azure Active Directory凭据成功登录后,是否有人可以帮助获取登录用户名

解决方法

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

使用了以下代码,该代码在提及Active Directory OAuth Helper Class used Graph API to Get Logged-in User Name and Password上的Graph API权限后起作用。

它无缝运行。在授予上述Graph API权限后,请耐心等待,因为它需要一段时间才能传播/应用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。