我在 Azure 上使用静态 Web 应用程序设置函数应用程序时遇到了一些困难。
我正在为由 Function App 支持的静态 Web 应用程序上的现场技术人员制作 PWA。我必须制作一个单独的函数应用程序,因为我需要在高级计划中运行它,这样我才能获得一些外部服务的公共 IP。
我希望技术人员和办公室人员通过网络使用该应用程序,但我还需要将许多功能集成到其他工作流程中,并能够在某些事件中从应用程序和其他系统自动启动功能。
但我似乎无法为验证用户和系统/脚本获得良好的设置。
我看到以下设置:
将 SWA 与函数应用链接并将函数 authLevel 设置为匿名。现在它非常适合应用程序的用户。但我不能使用 SWA 外部的功能。我可以为功能应用程序添加身份提供程序并使用浏览器登录,但这不是集成其他系统的顺畅方式。
我可以链接 SWA 和函数应用程序并将函数 authLevel 设置为运行。现在我可以为函数使用 API 密钥,这将使其他系统更容易使用这些函数。但我还需要在 SWA 的每个 api 调用中添加一个功能键。这将在浏览器中公开 API 密钥,并可以使用它来调用函数而无需通过应用程序。
我可以单独设置函数应用程序而不将其链接到 SWA。然后使用函数 api 键,我可以在 SWA 中设置托管函数,以反映我需要调用的函数。这将使通过 API 密钥将功能集成到其他系统变得容易,并且 API 密钥不会在浏览器中公开,因为托管功能不需要它。但现在我需要保持同步的功能数量增加了一倍。
所以我错过了什么吗?选项 3 似乎是最通用的方法,但也很烦人。
我想要选项 1,但我不知道如何针对 AD 身份提供者对 webhook、脚本和其他应用程序进行身份验证。