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

Spring Security Azure广告重定向url问题

奚和光
2023-03-14

当我试着在localhost跑步时,效果很好。但是当我尝试在负载均衡器后面运行相同的程序时,它会给出以下错误:

AADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the application: '<clien-id>'.

我已经用负载均衡器URL在AzureAD注册了应用程序。但是当我发送请求时,重定向URL仍然localhost如下所示。

https://login.microsoftonline.com/common/oauth2/authorize?response_type=code

我希望我的应用程序插入负载均衡器URL作为redirect_url的值(而不是localhost)。

我尝试了以下建议的解决方案,但仍然不成功:

使用Active Directory重定向Azure上Spring OAuth2应用的URL:无效的重定向URI参数

使用Azure OAuth2的Spring Boot-回复URL不匹配错误

提前谢谢。

共有1个答案

微生乐
2023-03-14

使用负载平衡器/代理时,需要添加一些额外的配置,以便能够正确解析重定向URL。

负载平衡器通常应用标准RFC7239“转发头”,如X-Forwarded-ProtoX-Forwarded-Host。在这种情况下,在应用以下两种配置后,应该正确计算重定向url。(Tomcat场景的示例)

server.forward-headers-strategy=NATIVE

“如果代理添加了常用的X-Forwarded-For和X-Forwarded-Proto头,将server.forward-headers-strategy设置为NATIVE就足以支持这些。”

server.tomcat.redirect-context-root=false

如果您正在使用Tomcat并在代理处终止SSL,则应将server.tomcat.redirect-extage-root设置为false。这允许在执行任何重定向之前尊重X-Forwarded-Proto标头。

如果您在Spring Security中的客户端配置中为基本URL使用占位符,例如{baseUrl}/login/oauth2/code/{registrationId},则上述配置有效。通过这种方式,{baseUrl}占位符由Spring Security根据它是否在负载平衡器后面而动态解析(https://your-lb-url.comvshttp://localhost:8080)。

官方文件中的更多信息:

  • Spring Boot-在前端代理服务器后面运行
  • Spring Security-代理服务器配置
 类似资料:
  • 我正在尝试发送我的用户https://localhost:8443/在他们从Azure广告中注销后,但他们仍然停留在微软。当他们注销时,他们首先进入:https://login.microsoftonline.com/“apptenant”/oauth2/v2。0/注销?客户请求id=16d3217c-a5cf-434d-90ee-9723365ddbfa 使用正确的注销后重定向。他们点击自己的账

  • 我正在尝试使用OpenGraphAPI发布一个动作。我作为元数据属性og:URL的一部分提供的URL只能由经过身份验证的用户访问。Facebook正试图抓取该URL,但由于302重定向,最终导致登录页面。 我是否需要为facebook创建一个页面,在其中添加元标签?这个url不是链接到facebook上发布的内容吗?

  • 问题内容: 如何将与其他URL不匹配的流量重定向回首页? urls.py: 就目前而言,最后一个条目将所有“其他”流量发送到主页,但是我想通过HTTP 301或302进行重定向。 问题答案: 你可以尝试称为 RedirectView `from django.views.generic.base import RedirectView urlpatterns = patterns(‘’, url(

  • 重定向到一个 URL 。 使用 window.location.href 或 window.location.replace() 重定向到 url 。 传递第二个参数来模拟链接点击(true - 默认值)或HTTP重定向(false)。 const redirect = (url, asLink = true) => asLink ? (window.location.href = url)

  • 1.新增加导航的banner广告位在哪里? 打开后台【店铺-广告管理-PC端/wap端】选择相应的广告位,“banner广告位”对应的是“商城首页滚动轮播图广告位”。 2.新增的广告位是怎么调用的? 在想要替换的页面修改关键词为你定义的那个关键词就可以了。

  • 问题内容: 从上一页收集到数据后,我想向客户显示另一页。但是我在服务器端重定向新URL时遇到麻烦。这是我的逻辑: 将带有POST操作的用户输入提交给服务器; 服务器运行函数saveChoice()将用户输入保存到数据库中; 保存用户输入后,服务器将新的URL发送给客户端。 当客户端获取新URL时,服务器读取数据库并取出保存的数据 我坚持执行第3步(这里是流程示例): 这是模板: 我可以知道如何重定