spring - 如何使用 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}
解决方案
在应用服务中,前端正在卸载 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
推荐阅读
- javascript - 我的函数正在返回一个 Promise,但我从未告诉该函数返回一个 Promise
- machine-learning - 97.55 % 的准确度是否表明模型过拟合?
- java - 如何在java中将二维数组转换为二维ArrayList?
- linux - Packer:创建 proxmox 虚拟机而不是模板
- sql - 使用原始 SQL Like 运算符时出现 SqlAlchemy 编程错误
- node.js - App.use 不是 Express js 中的函数错误
- excel - 单元格值的更改不会触发所需的功能
- sql - 可变长度的 SSIS 脚本拆分字符串
- swift - Swift:将默认的“command+/”与代码对齐
- python - 在scrapy中有多个请求时存储项目