如何在SharePoint Online中安全地集成WebChat / Directline

问题描述 投票:1回答:1

[尝试在SharePoint联机页面上部署在MS bot框架v4.0中开发的bot。用户需要登录到SharePoint才能访问该漫游器,因此不能在漫游器级别添加身份验证,因为用户必须登录两次,这将导致不良的用户体验。

集成是通过使用Web Chat通道'Security Key'调用Web Chat Bot连接器API来获取令牌的帮助下完成的。遵循documentation中的选项1。

问题

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

我已经尝试过

  1. 缩小JavaScript并将其添加到Web部件,这使得阅读“安全密钥”很困难,但并非不可能。
  2. Single Sigh-On(SSO),没有bot级别的OAutCard,就不可能实现SSO,因此请避免这种情况。
  3. 创建触发器/函数应用程序以隐藏漫游器连接器的剩余调用并仅公开令牌,但这需要一些额外的资源成本。
  4. 我找不到将登录的用户上下文或令牌从SharePoint传递到机器人的方法。

期望

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

也接受任何其他解决方案或建议。

sharepoint botframework sharepoint-online direct-line-botframework web-chat
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.