如何使用 Azure AD 为 Spring Boot App on App Service 设置重定向 URI

How to set Redirect URI for Spring Boot App on App Service using Azure AD

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

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

这在本地运行良好,我已将应用程序部署到 Azure 应用服务。要为 Oauth 正确重定向,我在 App Service 上配置重定向 URI,Azure GUI 需要一个以 "https://" 和 Spring 开头的 OAuth 重定向 URI 引导需要格式为“[=13=”的重定向 URI ]".

有没有办法配置 Spring 以期待以 "https://"

开头的 URI

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

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

在应用服务中,前端正在卸载 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

使用 Spring 的新 azure-spring-boot-starter-active-directory 依赖项,您可以添加 azure.activedirectory.redirect-uri-template 属性。

示例application.yml

azure:
  activedirectory:
    tenant-id: <id>
    client-id: <id>
    client-secret: <secret>
    redirect-uri-template: https://app.example.com/login/oauth2/code/