已从Azure AD成功获取令牌,但AWS ALB仍返回401错误求助
ALB集成Azure AD(Entra ID)返回401 AuthInvalidIdToken错误排查
根据你提供的配置和错误日志,以下是几个直接导致问题的可能原因及修正方案:
1. User Info Endpoint配置完全错误
你当前填写的User info endpoint是OIDC发现文档地址(.well-known/openid-configuration),这并不是用户信息端点的正确地址。ALB需要调用专门的用户信息端点来完成令牌验证流程,正确的Azure AD用户信息端点:
- 若使用v1.0协议:
https://login.microsoftonline.com/xxxxxxxxxxxxxxxxxx/oauth2/userinfo - 若使用v2.0协议:
https://graph.microsoft.com/oidc/userinfo
更稳妥的方式是:访问Azure AD应用注册页面的「端点」选项卡,复制「OpenID Connect 元数据文档」地址,打开该地址后,从返回的JSON中提取userinfo_endpoint字段的值,直接填入ALB配置。
2. Token Endpoint路径存在无效后缀
你的Token endpoint末尾带有/89,这不符合Azure AD的标准令牌端点格式。正确的令牌端点路径:
- v1.0协议:
https://login.microsoftonline.com/xxxxxxxxxxxxxxxxxx/oauth2/token - v2.0协议:
https://login.microsoftonline.com/xxxxxxxxxxxxxxxxxx/oauth2/v2.0/token
多余的路径后缀会导致ALB无法正确与Azure AD交换令牌,最终获取到不符合验证要求的ID令牌。
3. Issuer URI格式不完整
Azure AD的颁发者(Issuer)URI必须包含协议版本标识(v1.0或v2.0),正确格式应为:
- v1.0:
https://login.microsoftonline.com/xxxxxxxxxxxxxxxxxx/v1.0 - v2.0:
https://login.microsoftonline.com/xxxxxxxxxxxxxxxxxx/v2.0
缺少版本标识的Issuer会导致ALB验证ID令牌的iss声明时不匹配,直接触发AuthInvalidIdToken错误。
4. ID令牌受众(Audience)不匹配
需要确认Azure AD中注册的应用程序的客户端ID,是否与ALB配置中隐含的受众一致。ALB会严格验证ID令牌的aud声明是否等于你在Azure AD中创建的应用的Client ID,若不匹配则判定令牌无效。
5. 额外验证步骤
- 检查Azure AD应用的「令牌配置」,确保已启用ID令牌,并添加了必要的声明(如
email、name等); - 查看Azure AD的「登录日志」,确认令牌颁发的详细记录,检查是否有异常提示;
- 修正配置后,清除浏览器缓存或使用无痕模式测试,避免旧会话Cookie干扰。
内容的提问来源于stack exchange,提问作者SevanZ
相关产品推荐
相关产品推荐

