You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot WebMVC集成Azure身份认证遇invalid_user_info_response错误

问题排查与解决方案

核心错误分析

你遇到的invalid_user_info_response错误,本质是Spring Security的RestTemplate无法成功请求https://graph.microsoft.com/oidc/userinfo,属于网络连通性或配置异常问题,以下是针对性排查步骤:

1. 检查网络连通性

  • 在应用服务器上执行curl https://graph.microsoft.com/oidc/userinfo,确认是否能正常访问该端点。如果无法连通,排查:
    • 服务器防火墙/安全组是否放行对graph.microsoft.com的HTTPS(443端口)请求
    • 是否处于代理环境,未配置正确的代理参数

2. 修正Redirect URI配置

你的redirect-uri配置存在格式错误,Spring OAuth2要求重定向URI必须精确匹配注册ID,修改为:

spring.security.oauth2.client.registration.myapp.redirect-uri=http://localhost:8080/login/oauth2/code/myapp

同时确保Azure AD应用注册的重定向URI列表中已添加上述地址,完全一致。

3. 确认Azure AD权限配置

  • 登录Azure门户,找到你的应用注册,进入API权限页面
  • 确认User.Read权限已获取管理员同意(Delegated权限需要管理员同意才能生效,否则无法调用Graph API获取用户信息)

4. 补充Azure Provider的UserInfo配置(可选)

若自动端点发现失效,可手动指定UserInfo相关配置,确保Spring能正确定位端点:

spring.security.oauth2.client.provider.azure.user-info-uri=https://graph.microsoft.com/oidc/userinfo
spring.security.oauth2.client.provider.azure.user-name-attribute=name

5. 代理环境下的额外配置

如果应用服务器在代理后运行,需为RestTemplate配置代理,可通过JVM启动参数添加:

-Dhttp.proxyHost=你的代理地址 -Dhttp.proxyPort=代理端口 -Dhttps.proxyHost=你的代理地址 -Dhttps.proxyPort=代理端口

内容的提问来源于stack exchange,提问作者user2566397

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 06:55:17