我有多个 Azure Functions 应用程序和一个直接连接到它们的单页应用程序。
目前,单页应用程序(静态 html/js 内容)已部署为启用 EasyAuth AAD 身份验证的应用程序服务 Web 应用程序。
是否可以与 Azure Functions 应用共享身份验证 cookie/ header 或其他内容?
如果不行,解决办法是什么?我希望用户登录一次并在各处进行身份验证。
最佳答案
您在这里处理的问题是 CORS。要允许您的单页应用程序无需额外身份验证即可调用 Azure Functions,您需要确保您的单页应用程序和 Azure Functions 在同一域中公开。
有几种方法可以做到这一点。
- 您可以使用 Azure Traffic Manager 等服务和一个自定义域,以确保您的函数和网络应用位于同一域
- 您可以设置 Azure Function Proxy作为您的前端,然后通过代理路由所有其他功能(包括网络应用程序)。这样,所有网址都将显示为来自同一域,并且身份验证将无缝运行。
关于azure - 在多个 Azure Functions 应用之间共享 AAD 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59643553/