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

ASP.NET MVC集成Azure AD B2C登录报错IDX21336求助

解决Azure AD B2C认证时IDX21336错误(缺少id_token或access_token)

针对你遇到的IDX21336错误,核心原因是令牌端点返回的响应中缺少id_token或access_token,可以从以下几个方面排查修复:

  • 调整Scope配置
    当前配置仅包含OpenIdConnectScope.OpenId和API scope,建议补充OpenIdConnectScope.Profile,确保请求范围足够触发两类令牌的返回:

    options.Scope.Clear();
    options.Scope.Add(OpenIdConnectScope.OpenId);
    options.Scope.Add(OpenIdConnectScope.Profile); // 新增此行
    options.Scope.Add("https://davidTest.onmicrosoft.com/b516f85d-5329-4e1a-8842-f04f0a500e4f/api");
    
  • 验证Azure AD B2C应用注册设置

    1. 登录Azure门户,进入你的AD B2C租户,找到对应应用注册
    2. 进入身份验证页面,确认「隐式授权和混合流」下已勾选ID令牌和访问令牌(即使使用Authorization Code流程,此设置确保客户端能获取到两类令牌)
    3. 检查API权限,确认已添加目标API的权限并完成管理员同意(若为委托权限)
  • 补充OpenIdConnect配置参数
    添加以下配置,确保令牌处理逻辑正确:

    options.GetClaimsFromUserInfoEndpoint = true;
    options.TokenValidationParameters = new TokenValidationParameters
    {
        ValidateIssuer = true
    };
    
  • 检查B2C用户流配置
    确认你使用的用户流B2C_1_userclaimsdavidtest,在「应用程序声明」中已勾选必要的用户属性,且令牌配置允许颁发id_token和access_token。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 09:45:27