我想构建一个可以在Skype,Teams,SMS等多个渠道上使用的机器人。我正在使用BotBuilder SDK。我想通过这些渠道对用户进行身份验证。如何在不要求他通过网页登录的情况下这样做?由于我已经登录了应用程序(比如Skype),我如何根据上下文获取电子邮件地址或号码并隐式验证?
如果我选择使用OAuth执行此操作,我会要求用户登录我认为不正确的每次会话
答案 0 :(得分:3)
每个频道都是具体的,他们不提供获取用户信息的独特方式。
您不会在电子邮件地址或ID之类的渠道中获得共同信息,因此您必须构建一些可以做您想做的事情(可能只是询问用户......)。
有关您在某些频道中获得的内容的更多详细信息:
"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的用户名
"from": { "id": "29:1DwlGVzj.....", "name": "My Skype Name" }
此ID是特定于您的机器人,它是一个哈希,但它的生成方式是未知的(非开源)
"from": { "id": "nicolas-r@myCompany.com", "name": "My SkypeForBusiness Name" }
这里更容易......
"from": { "id": "29:1ar5DN....", "name": "Nicolas R" }
这与我们在Skype上发现的类似,ID是一个特定于您的机器人的唯一ID,它是一个哈希,但它的生成方式是未知的(非开源)
"from": { "id": "+33600000000", "name": "+33600000000" }
ID是用户的电话号码
==>正如您所看到的,要获得独特的东西还有很多工作要做。