azure-ad-b2c - 不记名 token 在 AAD B2C .NETCorre 中不起作用

标签 azure-ad-b2c

我有一个使用 ASP.NET Core 构建的 Web API。我有一个将调用此 API 的 React 应用程序。使用 AAD B2C 管理身份。我遇到了 API 无法识别应用程序生成的不记名 token 的问题。

我确信这与我的设置有关,因为 token 本身具有我需要的所有声明(由 JWT.io 解码)。但是,当我通过 .NET Core 中的代码传递它以允许授权时,ClaimsIdentity 没有任何内容,也不包含用户信息。

我使用以下代码行设置实例:

 services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
         .AddMicrosoftIdentityWebApi(options =>
         {
            configuration.Bind("AzureAdClient", options);
            options.TokenValidationParameters.NameClaimType = "name";
         }, options => { configuration.Bind("AzureAdClient", options); });

我还有以下配置:

 "AzureAdClient": {
        "Instance": "https://login.microsoftonline.com/",
        "Domain": "somename.onmicrosoft.com",
        "ClientId": "guid here",
        "TenantId": "guid here",
        "Audience": "https://somename.onmicrosoft.com/tenants-api",
        "SignUpSignInPolicyId": "B2C_1_RwSignIn"
    }

我在这里做错了什么吗?

最佳答案

我能够使用不同的策略来解决这个问题。大多数示例中推荐的配置仍然不起作用。

  • 实例:https://yourname.b2clogin.com
  • 域名:yourname.onmicrosoft.com
  • SignUpSignInPolicyId:实际名称 您的注册/登录政策
  • ClientId:API 客户端的客户端 ID。
 var section = configuration.GetSection("AzureAdClient");
            services.AddAuthentication(options =>
            {
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
            }).AddJwtBearer(options =>
            {
                options.Authority = $"{section["Instance"]}/{section["Domain"]}/{section["SignUpSignInPolicyId"]}/v2.0/";
                options.Audience = $"{section["ClientId"]}";
            });

关于azure-ad-b2c - 不记名 token 在 AAD B2C .NETCorre 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66483050/

相关文章:

azure - login_hint/将电子邮件设置为只读 - azure ad b2c

angular - 使用 Angular SPA MSAL 库在 Azure B2C 上执行用户流

Azure AD B2C 自定义策略语言翻译

azure-ad-b2c - Azure B2C 自定义 - 更改 “Sign in with your Social Account” 文本

spring - Azure B2C 访问 token NULL Spring OAuth 2.0

c# - 使用 Azure B2C 身份验证服务进行身份验证之前验证电子邮件

adfs - Azure B2C 和 ADFS

powershell - 图形 API - Azure AD B2C - 引发错误 - 未找到标识符的应用程序

.net - 将 Azure AD B2C 与机器人结合使用

Azure B2C - 自动化 - 启用IEFKeySetGraphApis 功能