为了账号安全,请及时绑定邮箱和手机立即绑定

AADSTS500112:请求授权码时回复地址“http://testurl”与回复地址

AADSTS500112:请求授权码时回复地址“http://testurl”与回复地址

慕桂英4014372 2023-08-23 10:35:14
我正在尝试将 java 应用程序与 azure ad 集成。我已经在azure中注册了一个应用程序并添加了重定向url,成功登录后,它被重定向到我的java应用程序,我在其中使用msal库获取授权代码。得到以下异常com.microsoft.aad.msal4j.MsalServiceException:AADSTS500112:回复地址“ http://testUrl ”与回复地址“ https://testUrl”不匹配我在上面的 URL 中看到的唯一区别是 http 和 https,尽管我在应用程序注册中的重定向 URL 以及 Microsoft 登录 URL 中的重定向 URL 中提到了 https。顺便说一句,它正在与我的本地环境一起工作,而当我将其托管在服务器上时则不起作用。
查看完整描述

2 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

部署到生产环境后,我们也遇到了同样的问题。https 变成 http 的原因是因为我处于负载平衡环境中,外部 URL 与内部 URL 不同(负载平衡器卸载了 SSL 处理)。当来自 azure 的 http 请求到达我们的 Web 过滤器时,httpRequest.getRequestURL().toString() 获取 http 而不是 https。我们所做的是,要求 DevOps 团队在 httprequest 中添加一个标头,并将原始 url 发送到负载均衡器,并且在我们的代码中,我们提取 http 标头而不是 http 请求本身。

具体来说,改变

String currentUri = httpRequest.getRequestURL().toString();

String currentUri = httpRequest.req.getHeader(HEADER_PROXY_URL);

HEADER_PROXY_URL是 devops 注入原始 url 的标头名称。


查看完整回答
反对 回复 2023-08-23
?
杨__羊羊

TA贡献1943条经验 获得超7个赞

根据我的研究,网络应用程序和服务的重定向 URL 必须以 schema 开头https。如果你想使用该方案http,你就可以使用http:\\localhost


查看完整回答
反对 回复 2023-08-23
  • 2 回答
  • 0 关注
  • 295 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信