【问题标题】:Microsoft chat bot authenticationMicrosoft 聊天机器人身份验证
【发布时间】:2020-01-13 01:27:04
【问题描述】:

是否可以对使用 Microsoft Bot 框架开发的聊天机器人进行身份验证,以便只有授权用户才能访问聊天机器人?

【问题讨论】:

  • 欢迎来到 Stack Overflow。这个问题要么太宽泛,要么会得到是/否的答案,这可能不是你想要的。有关在此处提问的指导,请阅读 https://stackoverflow.com/help/how-to-ask

标签: asp.net oauth botframework


【解决方案1】:

你必须使用AuthBot

AuthBot 是一个 .Net 库,用于在通过 Microsoft Bot Framework 构建的机器人上进行 Azure Active Directory 身份验证。

一些特点是:

  • 支持端点 V1、V2 和 B2C(目前仅适用于 v1 和 v2,我们仍在研究 B2C 场景)

  • 即使在包括多个用户的聊天会话中也能轻松安全地登录

  • 允许安全退出,包括清除浏览器 cookie

  • 启用机器人需要通过获取访问令牌与 Office 365 或 Azure 等其他服务进行通信的场景

此 AuthBot 库也可在此处作为 Nuget 包使用:https://www.nuget.org/packages/AuthBot

BotAuth 存储库包含所有提供商的示例以及多提供商示例。此外,还有两个 Azure AD v2 示例用于构建支持 Microsoft Graph 的机器人,这些机器人可以克隆到您自己的项目中。一个是非常基本的机器人,另一个是利用 LUIS 的机器人。

Azure AD v1 Sample

Azure AD v2 Sample

Azure AD B2C Sample

Generic OAuth2 Sample

Multi-provider Sample

Basic Microsoft Graph Sample

Microsoft Graph Sample with LUIS

【讨论】:

    【解决方案2】:

    这里实际上有几个选项:

    • 正如 Wilson Vargas 提到的那样,AuthBot 是其中之一
    • BotAuth 中的另一个(用于在 typescript 中编写的节点)
    • 您还可以像在 MVC 网站中一样使用 OAuth 执行您自己的自定义身份验证。用户登录后重定向到包含网络聊天控件或您自己的直线实现的页面。我个人跟随this blog 开始了这个。这种方法的好处是用户无需与机器人交互即可登录。

    【讨论】:

    • 非常感谢 Jason 的建议。是否可以在 Microsoft 聊天机器人中使用数据库实现自定义身份验证?
    • 是的,会的。不过,我没有与您分享的示例实现。所以你必须自己做一些弄清楚。祝你好运。
    猜你喜欢
    • 2020-03-28
    • 2017-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多