当前位置: 首页 > 知识库问答 >
问题:

Spring boot应用程序与Azure AD抛出的回复URL不匹配

姚和顺
2023-03-14

我有一个与Azure AD SAML登录集成的Spring引导应用程序。我按照这个样本来实现这一点。它在localhost工作正常,但在部署到一个prod url,它一直给下面的错误

我在授权请求URL中看到的重定向uri以超文本传输协议开始。这是矛盾的,因为Azure应用注册不允许配置任何非https URL,并且只有异常localhost。

为了匹配URL,我尝试在Azure portal中编辑应用程序注册的清单,使其成为http。现在,URL似乎匹配,但我得到以下错误:

我还尝试在azure门户和应用程序上设置https URL。属性使用“azure.activedirectory.redirect uri template”,如这里的堆栈溢出帖子所述,但这也不起作用。

我也看过这篇文章,但也没用。

任何帮助都将不胜感激。

共有1个答案

周和安
2023-03-14

为了解决重定向到https的错误,但请求中的重定向uri仍然以http开头,有两个类似的问题:

1.HTTPS请求在代理处终止,然后代理使用HTTP协议与Tomcat服务器通信。如果你将代码部署在App Service等云服务提供商上,你将面临这个问题。答案就在这里。

正在申请中。属性:

security.oauth2.client.pre-established-redirect-uri=https://yourappurl.net/login
security.oauth2.client.registered-redirect-uri=https://yourappurl.net/login
security.oauth2.client.use-current-uri=false
server.tomcat.remote-ip-header=x-forwarded-for
server.tomcat.protocol-header=x-forwarded-proto
server.tomcat.use-relative-redirects=true
server.use-forward-headers=true
server.tomcat.internal-proxies=.*

2.添加服务器。在应用程序中,转发头策略=本机。财产。答案就在这里。有关此设置的更多信息,请参见此处。

 类似资料: