首页 > 解决方案 > 链接到 Azure 静态 Web 应用的 Azure Function 应用的身份验证

问题描述

我在 Azure 上使用静态 Web 应用程序设置函数应用程序时遇到了一些困难。

我正在为由 Function App 支持的静态 Web 应用程序上的现场技术人员制作 PWA。我必须制作一个单独的函数应用程序,因为我需要在高级计划中运行它,这样我才能获得一些外部服务的公共 IP。

我希望技术人员和办公室人员通过网络使用该应用程序,但我还需要将许多功能集成到其他工作流程中,并能够在某些事件中从应用程序和其他系统自动启动功能。

但我似乎无法为验证用户和系统/脚本获得良好的设置。

我看到以下设置:

  1. 将 SWA 与函数应用链接并将函数 authLevel 设置为匿名。现在它非常适合应用程序的用户。但我不能使用 SWA 外部的功能。我可以为功能应用程序添加身份提供程序并使用浏览器登录,但这不是集成其他系统的顺畅方式。

  2. 我可以链接 SWA 和函数应用程序并将函数 authLevel 设置为运行。现在我可以为函数使用 API 密钥,这将使其他系统更容易使用这些函数。但我还需要在 SWA 的每个 api 调用中添加一个功能键。这将在浏览器中公开 API 密钥,并可以使用它来调用函数而无需通过应用程序。

  3. 我可以单独设置函数应用程序而不将其链接到 SWA。然后使用函数 api 键,我可以在 SWA 中设置托管函数,以反映我需要调用的函数。这将使通过 API 密钥将功能集成到其他系统变得容易,并且 API 密钥不会在浏览器中公开,因为托管功能不需要它。但现在我需要保持同步的功能数量增加了一倍。

所以我错过了什么吗?选项 3 似乎是最通用的方法,但也很烦人。

我想要选项 1,但我不知道如何针对 AD 身份提供者对 webhook、脚本和其他应用程序进行身份验证。

标签: azureazure-active-directoryazure-functionsazure-static-web-app

解决方案


推荐阅读