首页 > 解决方案 > 如何使用 Azure AD 为应用服务上的 Spring Boot 应用设置重定向 URI

问题描述

我按照以下教程在本地部署了一个使用 Azure AD 的 Spring Boot Web 应用程序:

https://dev.to/azure/using-spring-security-with-azure-active-directory-mga

这在本地运行良好,我已将应用程序部署到 Azure 应用服务。为了正确重定向 Oauth,我正在应用服务上配置重定向 URI,Azure GUI 需要一个以“https://”开头的 OAuth 重定向 URI,而 Spring boot 需要一个格式为“ http://[domain]的重定向 URI” :[端口]/login/oauth2/code/azure "。

有没有办法将 Spring 配置为期望以“https://”开头的 URI

我尝试更新以下没有帮助的应用程序属性。有一种解决方法可以将 Type=Public client/native 与“http”URI 一起使用。有更好的解决方案吗?

spring.security.oauth2.client.registration.azure.redirect-uri-template={baseUrl}/login/oauth2/code/{registrationId}

标签: springspring-bootazure-active-directoryazure-web-app-serviceazure-app-service-envrmnt

解决方案


在应用服务中,前端正在卸载 SSL。对于 Tomcat 和 WildFly 图像,我们添加了一个过滤器,负责在 web worker 机器上对上下文进行水合。

不幸的是,如果客户使用自己的 Web 服务器(例如 Spring Boot),他们将需要添加自定义逻辑,例如我们过滤器中的逻辑来解决此问题。

其他选项,是依靠 App Service 使用 App Service EasyAuth 功能进行身份验证:https ://docs.microsoft.com/en-us/azure/app-service/overview-authentication-authorization


推荐阅读