我的JWT令牌看起来像这样:
如您所见,声明类型为sub, name, family_name。然而,当我将这个JWT令牌提供给我的ApiController时,解释的声明(From HttpContext.User.Identity.Claims属性)被转换为来自System.Securtity.Claims.ClaimTypes的等效声明类型:
sub, name, family_name
ApiController
HttpContext.User.Identity.Claims
System.Securtity.Claims.ClaimTypes
的为什么ASP.NET Core会这样做?我怎么才能让它不这样做?
ckx4rj1h1#
该框架需要System.Securtity.Claims.ClaimTypes作为其自身的默认行为,例如,在身份验证时设置HttpContext.User.Identity.Name您可以尝试以下代码来禁用Map:
HttpContext.User.Identity.Name
builder.Services.AddAuthentication().AddJwtBearer(op => { op.MapInboundClaims = false; });
字符串这是另一个issue关系
1条答案
按热度按时间ckx4rj1h1#
该框架需要
System.Securtity.Claims.ClaimTypes
作为其自身的默认行为,例如,在身份验证时设置HttpContext.User.Identity.Name
您可以尝试以下代码来禁用Map:
字符串
这是另一个issue关系