首页 > 解决方案 > 在 Teams 应用中保存组织范围的应用程序设置

问题描述

我有一个团队应用程序(选项卡)。我是 ISV 提供商,并提供由客户通过其组织中的 Teams App Store 安装的多租户应用程序。

如何为客户保存整个组织范围内的应用程序设置?例如,CustomerA 安装了应用程序,然后是 CustomerB。我想要一些对 CustomerA 和 CustomerB 和应用程序来说是唯一的存储,并且位于 customer's environment 中。我要保存的设置不是每个用户,而是每个组织(租户)。

例如,有点类似于 Windows 桌面中的“App Data”文件夹。

这样的存储存在吗?此存储的 API 是否存在?

标签: microsoft-teams

解决方案


选项卡应用程序是您在 Teams 中呈现的简单 Web 应用程序。因此,该应用程序的功能、位置和方式完全取决于您。这包括您选择在幕后拥有的任何数据存储。例如,您的选项卡可以在 PHP 中构建并使用 MySQL,或者在 ASP.Net 中构建并使用 SQL Azure 或 CosmosDB。这完全取决于您,但您需要自己实现它,作为 ISV。

然而,区分客户端的重要部分是了解每个用户的 TenantId,因此您可以从数据库中查找您需要的客户端设置。最简单的方法就是tid使用 Teams 选项卡上下文中的属性。您可以在此处阅读更多相关信息。不幸的是,因为它只是通过 Javascript 访问,所以它并不完全安全 - 为了获得更安全的机制,您应该创建一个 Azure 应用程序,并生成可以在后端进行身份验证的 jwt 令牌。这是一个更复杂的话题,但希望这个答案至少能提供你需要的背景。有关安全方面的更多信息(验证令牌等),请参阅此问题:如何限制对 Azure Function 的访问以仅允许来自自定义 Microsoft Teams 应用程序的请求?.


推荐阅读