使用AD for Microsoft Bot Framework识别首次使用身份验证登录



当用户第一次登录时,我想给他一条登录成功的消息。因此,我需要确定用户是否使用了显示的登录卡进行登录(用户是否进行了交互(,或者系统是否在没有用户干预的情况下自动获取了令牌。如果我们展示一个成功的消息用户交互,那就太好了。我如何识别是否有用户交互?

我找到的答案是找到活动类型,如果其事件类型的用户已经交互,那么它就是一个自动签名。您可以通过检查Activity.value中键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);
}
}

最新更新