microsoft-teams - 在 Teams 应用中保存组织范围的应用程序设置
问题描述
我有一个团队应用程序(选项卡)。我是 ISV 提供商,并提供由客户通过其组织中的 Teams App Store 安装的多租户应用程序。
如何为客户保存整个组织范围内的应用程序设置?例如,CustomerA 安装了应用程序,然后是 CustomerB。我想要一些对 CustomerA 和 CustomerB 和应用程序来说是唯一的存储,并且位于 customer's environment 中。我要保存的设置不是每个用户,而是每个组织(租户)。
例如,有点类似于 Windows 桌面中的“App Data”文件夹。
这样的存储存在吗?此存储的 API 是否存在?
解决方案
选项卡应用程序是您在 Teams 中呈现的简单 Web 应用程序。因此,该应用程序的功能、位置和方式完全取决于您。这包括您选择在幕后拥有的任何数据存储。例如,您的选项卡可以在 PHP 中构建并使用 MySQL,或者在 ASP.Net 中构建并使用 SQL Azure 或 CosmosDB。这完全取决于您,但您需要自己实现它,作为 ISV。
然而,区分客户端的重要部分是了解每个用户的 TenantId,因此您可以从数据库中查找您需要的客户端设置。最简单的方法就是tid
使用 Teams 选项卡上下文中的属性。您可以在此处阅读更多相关信息。不幸的是,因为它只是通过 Javascript 访问,所以它并不完全安全 - 为了获得更安全的机制,您应该创建一个 Azure 应用程序,并生成可以在后端进行身份验证的 jwt 令牌。这是一个更复杂的话题,但希望这个答案至少能提供你需要的背景。有关安全方面的更多信息(验证令牌等),请参阅此问题:如何限制对 Azure Function 的访问以仅允许来自自定义 Microsoft Teams 应用程序的请求?.
推荐阅读
- c# - 如何将 JSON 流反序列化为 JToken?
- jquery - 我正在使用 SELECT2 下拉菜单并在 wordpress 中添加图像以及下拉文本,但它不起作用
- amazon-elb - 即使处于所有健康状态,MarkLogic AWS 负载均衡器也不会将请求路由到所有主机
- c# - AutoFixture 和 XUnit2 - 结合 TheoryData 和 AutoData
- pentaho - 超出 Pentaho 转换 GC 开销限制
- excel - 比较两列高亮单元格并显示单元格地址
- python - 使用 LSTM 自动编码器的一次一次值异常检测模型:可能吗?
- python - Python selenium通过xpath点击元素不起作用
- php - Bangla 字体无法在 mpdf 中正确显示
- flutter - 如何在颤动中使用 dio 在标头中传递访问令牌