【发布时间】:2021-03-29 15:02:26
【问题描述】:
我在使用 azure B2C 授权客户端应用程序(用户)时遇到问题。 在后端我有一个 asp.net5 web api。至于前端,我使用的是 Angular 客户端。 我已经在我的 B2c 租户中注册了这两个应用程序。我在这两个应用程序上都添加了 API 权限,还获得了管理员许可。
现在,当我运行用户流(从 azure 门户)并在表单中指定 web api 时,令牌工作正常,我可以进行 api 调用,我得到状态 200。 但是,当在客户端应用程序(角度)上检索令牌时,我收到 401 未经授权的响应。
我的认证中间件配置如下:
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(jwtConfig =>
{
jwtConfig.Audience = Configuration["AzureAdB2C:ClientId"];
jwtConfig.Authority = $"{Configuration["AzureAdB2C:Instance"]}/tfp/{Configuration["AzureAdB2C:Domain"]}/{Configuration["AzureAdB2C:SignUpSignInPolicyId"]}/v2.0";
jwtConfig.RequireHttpsMetadata = false;
jwtConfig.SaveToken = true;
jwtConfig.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
ValidateIssuer = true,
ValidateAudience = true,
ValidateLifetime = true,
ValidAudience = jwtConfig.Audience,
ValidIssuer = $"{Configuration["AzureAdB2C:Instance"]}/{Configuration["AzureAdB2C:TenantId"]}/v2.0/"
};
});
有谁知道问题出在哪里?
【问题讨论】:
标签: asp.net-core authentication azure-active-directory jwt azure-ad-b2c