【问题标题】:How to set Redirect URI for Spring Boot App on App Service using Azure AD如何使用 Azure AD 为应用服务上的 Spring Boot 应用设置重定向 URI
【发布时间】:2020-03-14 05:46:22
【问题描述】:

我按照以下教程在本地部署了一个使用 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]:[port]/login/oauth2/code/azure”的重定向 URI。

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

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

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

【问题讨论】:

  • 文章链接失效了,是404。而且肯定需要https。本地主机允许,但除此之外。授权码等不应传递给不安全的端点,因此会被阻止。
  • 但遗憾的是我并不真正了解 Spring:\

标签: spring spring-boot azure-active-directory azure-web-app-service azure-app-service-envrmnt


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    使用 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/
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 2021-11-21
      • 2022-08-18
      • 1970-01-01
      • 1970-01-01
      • 2020-08-15
      • 2019-07-25
      相关资源
      最近更新 更多