在Microsoft bot Framework中跨渠道验证用户

时间:2017-07-02 23:57:26

标签: bots botframework

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

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

1 个答案:

答案 0 :(得分:3)

快速回答:

每个频道都是具体的,他们不提供获取用户信息的独特方式。

您不会在电子邮件地址或ID之类的渠道中获得共同信息,因此您必须构建一些可以做您想做的事情(可能只是询问用户......)。

详细

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

  • Facebook Messenger: "from": { "id": "1613014XXXXXXXXX", "name": "My Facebook Name" }

对于Page Scoped ID,ID为PSID。它不是用户配置文件的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,它是一个哈希,但它的生成方式是未知的(非开源)

  • Twilio短信: "from": { "id": "+33600000000", "name": "+33600000000" }

ID是用户的电话号码

==>正如您所看到的,要获得独特的东西还有很多工作要做。