如何使ASP.NET Core不转换我在JWT令牌中的声明类型?

zkure5ic  于 12个月前  发布在  .NET
关注(0)|答案(1)|浏览(147)

我的JWT令牌看起来像这样:

如您所见,声明类型为sub, name, family_name
然而,当我将这个JWT令牌提供给我的ApiController时,解释的声明(From HttpContext.User.Identity.Claims属性)被转换为来自System.Securtity.Claims.ClaimTypes的等效声明类型:



为什么ASP.NET Core会这样做?我怎么才能让它不这样做?

ckx4rj1h

ckx4rj1h1#

该框架需要System.Securtity.Claims.ClaimTypes作为其自身的默认行为,例如,在身份验证时设置HttpContext.User.Identity.Name
您可以尝试以下代码来禁用Map:

builder.Services.AddAuthentication().AddJwtBearer(op =>
{
    op.MapInboundClaims = false;
});

字符串
这是另一个issue关系

相关问题