botframework - 使用 Microsoft Bot Framework 的 AD 识别首次登录
问题描述
我想在用户第一次登录时向他发送登录成功消息。因此,我需要确定用户使用显示的签名卡登录(用户已交互)或系统自动获取令牌本身而无需用户干预的天气。很高兴我们显示成功的消息用户交互在那里。我如何识别天气是否有用户交互?
解决方案
我找到的答案是找到活动类型,如果它的事件类型用户已经交互,否则它是一个自动登录。您可以通过检查Activity.Value中key connectionName的值来重新验证刚刚建立的连接。以下代码将为您提供帮助。
string output = JsonConvert.SerializeObject(stepContext.Context.Activity.Value, Formatting.Indented);
if (stepContext.Context.Activity.Type is "event")
{
var conName = JsonConvert.DeserializeObject<JObject>(output)["connectionName"].ToString();
if (conName ==<Your Connection Name>)
{
await stepContext.Context.SendActivityAsync(MessageFactory.Text($"You have successfully Signed In"), cancellationToken);
await stepContext.Context.SendActivityAsync(MessageFactory.Text($"How can I help you?"), cancellationToken);
}
}
推荐阅读
- javascript - Socket.io 事件监听器在我的 React 类组件中自发触发,没有服务器输出
- excel - 将文件夹中的 Excel 文件复制到一个 Excel 文件中
- linux-kernel - 使用 binutils 2.31 或更高版本构建时设备无法启动
- python - 应该对原始数据还是拆分数据执行交叉验证分数?
- java - JAVA - 隐藏类 Selenium
- android - 从 sqlite 数据库中设置 recyclerview 中的数据时出现 IndexOutOfBound 异常
- c# - 使用表达式树创建自动映射器配置
- php - “ppa.launchpad.net/ondrej/php/ubuntu focus/main amd64 Packages”-404 未找到
- npm - SemVer 冲突:如果有一些 alpha/beta/rc 版本并且工作正在进行中,如何发布上一个稳定版本的错误修复?
- python - 如何打印没有括号和逗号的列表?