【问题标题】:Authenticate user across channels in Microsoft bot Framework在 Microsoft bot Framework 中跨渠道对用户进行身份验证
【发布时间】:2017-12-06 04:03:02
【问题描述】:

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

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

【问题讨论】:

    标签: bots botframework


    【解决方案1】:

    快速回答:

    每个渠道都是特定的,它们没有提供获取用户信息的独特方式。

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


    详情

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

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

    ID 是 PSID,用于 Page Scoped 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" }

    这里更简单...

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

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

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

    ID是用户的电话号码

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

    【讨论】:

    • 这有什么来源吗?
    • 来源是什么?如何知道这些值?
    • 是的,我很高兴知道任何 Microsoft 文档链接。
    • 据我所知,没有关于此的文档。我是根据我的经验给出的
    猜你喜欢
    • 2020-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多