我有一个 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
我还在 Azure Function 应用程序中启用了网络设置从选择的虚拟网络和 IP 地址启用,并在访问限制中添加规则时在 IP 地址块中添加了 APIM 的公共 IP。
然后添加 Microsoft 身份验证,并在函数应用中使用所有默认设置。
一旦您在函数应用程序中启用了选择虚拟网络和IP地址设置,则您将无法直接访问函数应用程序URL。它会给你403错误。有多种方法可以访问功能应用程序,请参阅此博客以了解更多信息。这里我正在访问 APIM 背后的功能应用程序。
为了访问 APIM 中的函数应用程序,我生成如下所示的令牌,然后在调用时将其添加到请求标头。