【问题标题】:How to Securely Integrate WebChat/Directline in SharePoint Online如何在 SharePoint Online 中安全地集成 WebChat/Directline
【发布时间】:2020-06-08 19:59:56
【问题描述】:

尝试在 SharePoint 在线页面上部署使用 MS bot 框架 v4.0 开发的机器人。用户需要登录 SharePoint 才能访问 bot,因此无法在 bot 级别添加身份验证,因为用户必须登录两次,这将导致用户体验不佳。

通过使用网络聊天通道“安全密钥”调用网络聊天机器人连接器 API 来获取令牌,从而完成集成。遵循documentation 中的选项 1。

问题

SharePoint 作为客户端应用程序会造成通道“安全密钥”暴露的威胁,即它可以在浏览器的开发人员工具中获取,并可用于将我们的机器人集成到他们的网站上。

我已经尝试过了

  1. 缩小 javascript 并将其添加到 Web 部件,这使得读取“安全密钥”变得困难,但并非不可能。
  2. Single Sigh-On (SSO),如果没有机器人级别的 OAutCard,SSO 是不可能的,因此请尽量避免。
  3. 创建一个触发器/函数应用程序来隐藏机器人连接器休息调用并只公开令牌,但它需要一些额外的资源成本。
  4. 我没有找到将 SharePoint 登录的用户上下文或令牌从 SharePoint 传递到机器人的方法。

期待

  1. 保护通道“安全密钥”,使其无法在开发人员工具中访问。 或
  2. 找到一种方法将 SharePoint 登录的用户上下文或令牌从 SharePoint 传递到机器人并在机器人端进行验证。 或
  3. 通过在线 SharePoint 中的免费触发器隐藏对机器人连接器 API 的其余调用。

也欢迎任何其他解决方案或建议。

【问题讨论】:

    标签: sharepoint botframework sharepoint-online direct-line-botframework web-chat


    【解决方案1】:

    无法在 SPFx 中获取访问令牌。我在 SPO/SPFx 中找到的唯一解决方案是利用 SPFx 为机器人提供用户上下文,并通过机器人中的仅应用程序图形应用程序进行调用。您可以(理论上)添加代码逻辑以使用该上下文(用户名、站点名称、Web 名称)限制对图形/SharePoint 的调用等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-26
      • 1970-01-01
      • 2019-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多