正在Teams应用程序中保存组织范围的应用程序设置



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

如何为客户保存应用程序组织范围内的设置?例如,客户A先安装了应用程序,然后安装了客户B。我想要一些对客户A、客户B和应用程序来说是唯一的存储,并且位于客户的环境中。我要保存的设置不是按用户保存的,而是按组织(租户(保存的。

有点类似于";应用程序数据";例如,您在Windows Desktop中拥有的文件夹。

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

选项卡应用程序只是一个在Teams内部呈现的web应用程序。因此,这个应用程序做什么,在哪里以及如何做,完全取决于你。这包括您选择在后台使用的任何数据存储。例如,您的选项卡可以构建在PHP中并使用MySQL,也可以构建在ASP.Net中并使用SQLAzure或CosmosDB。这完全取决于您,但作为ISV,您需要自己实现它。

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

最新更新