在机器人框架中跨渠道对用户进行身份验证Microsoft



我想构建一个可以在Skype,Teams,SMS等多个渠道上使用的机器人。我为此使用BotBuilder SDK。我想通过这些渠道对用户进行身份验证。如何在不要求他通过网页登录的情况下做到这一点?由于我已经登录了应用程序(例如Skype(,如何根据上下文获取电子邮件地址或号码并进行隐式身份验证?

如果我选择使用 OAuth 执行此操作,我会要求用户在每次对话中登录,我认为这不是正确的方式

快速回答:

每个渠道都是特定的,它们不提供获取用户信息的唯一方式。

您将不会拥有跨渠道的通用信息,例如电子邮件地址或ID,因此您必须构建一些东西来做您想做的事情(可能询问用户是唯一的方法......


有关您在某些渠道中获得的内容的更多详细信息:

  • 脸书信使:"from": { "id": "1613014XXXXXXXXX", "name": "My Facebook Name" }

该 ID 是一个PSID,用于页面范围的 ID。它不是您在用户个人资料的 URL 中拥有的用户 ID,而是特定于托管机器人的 Facebook 页面

  • 松弛:"from": { "id": "U54xxxxxx:T53xxxxxx", "name": "nicolas" }

该 ID 由 Slack的用户 ID 和 Slack 的团队 ID 串联而成。这个名字是我的 Slack 用户名

  • Skype:"from": { "id": "29:1DwlGVzj.....", "name": "My Skype Name" }

此 ID 特定于您的机器人,它是一个哈希,但它的生成方式未知(不是开源的(

  • Skype for Business:"from": { "id": "nicolas-r@myCompany.com", "name": "My SkypeForBusiness Name" }

这里更容易...

  • Microsoft 团队:"from": { "id": "29:1ar5DN....", "name": "Nicolas R" }

这里类似于我们在 Skype 上找到的,ID 是特定于您的机器人的唯一 ID,它是一个哈希值,但它的生成方式未知(不是开源的(

  • 特威利奥短信:"from": { "id": "+33600000000", "name": "+33600000000" }

ID 是用户的电话号码

==> 如您所见,要获得独特的东西,有很多事情要做

相关内容

最新更新