使用受 APIM 保护的 AAD 应用程序配置的 Azure 函数应用程序无法使用重定向 url 进行身份验证

问题描述 投票:0回答:1

我有一个 Azure 函数应用程序,其中包含 Microsoft 身份提供商集成(AAD 应用程序)和入站流量配置,并启用了受限公共网络访问,设置为“从选定的虚拟网络和 IP 地址启用”,如图 1 和 2 所示。

AAd application url: https://myfunction.azurewebsites.net/.auth/login/aad/callback 

此外,该应用程序还通过 API 管理服务进行保护,如果通过 https://myfunctionapp.azurewebsites.net url

访问该功能应用程序,该服务会阻止该功能应用程序

azure 函数应用程序(禁用 V4 函数应用程序代理)有一个 swagger 页面,以保护 swagger 页面本身,而不是在 FunctionApp 中启用身份验证的端点(通过正在运行的客户端凭据进行处理)。

当我尝试访问 url 上的 swagger ui 页面时,

https://apimanager.com/api/swagger/ui 
重定向到 Microsoft 登录服务器,能够提供用户名密码并最终重定向到
https://myfunction.azurewebsites.net/.auth/login/aad/callback
,这会给出禁止错误。

有没有办法使用任何策略配置覆盖重定向 url,以克服默认重定向到 myfunction.azurewebsites.net 回调 url?

 https://https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/authorize?response_type=...&redirect_uri=https://myfunctionapp.azurewebsites.net/.auth/login/aad/callback&client_id=...&state=redir%3D%/api/swagger/ui

Function App Networking

Function App Networking

enter image description here

authentication azure-functions azure-api-management apim
1个回答
0
投票

我还在 Azure Function 应用程序中启用了网络设置从选择的虚拟网络和 IP 地址启用,并在访问限制中添加规则时在 IP 地址块中添加了 APIM 的公共 IP。

然后添加 Microsoft 身份验证,并在函数应用中使用所有默认设置。

一旦您在函数应用程序中启用了选择虚拟网络和IP地址设置,则您将无法直接访问函数应用程序URL。它会给你403错误。有多种方法可以访问功能应用程序,请参阅此博客以了解更多信息。这里我正在访问 APIM 背后的功能应用程序。

为了访问 APIM 中的函数应用程序,我生成如下所示的令牌,然后在调用时将其添加到请求标头。

enter image description here

enter image description here enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.