使用 AD for Microsoft Bot Framework 确定首次登录身份验证

Identify first sign in with Authentication using AD for Microsoft Bot Framework

我想在用户第一次登录时给用户一个登录成功的消息。所以我需要确定用户使用显示的签名卡登录(用户已经交互)或系统自动获取令牌本身而无需用户干预的天气。如果我们显示一条成功的用户交互消息,那就太好了。我如何识别天气是否有用户交互?

我找到的答案是找到 Activity 类型,如果它的事件类型用户已经交互,否则它是自动登录。您可以通过检查 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);
     }
 }