我正在使用身份服务器4构建一个aspnet.core mvc项目。当我在我的视图中执行此操作时:
@User.Identity.Name
我没有显示任何内容,但是当我这样做时:
@User.Claims.FirstOrDefault(x => x.Type.ToLower() == "name").Value
我显示了所需的结果。我目前正在学习Identity Server 4,所以我很好奇有什么区别,如果我错过了一些逻辑。
答案 0 :(得分:1)
ClaimsIdentity
不会自动知道您的姓名声明的类型。您需要在配置中设置NameClaimType
属性,例如在OIDC中间件的TokenValidationParamters
上。
与角色相同: {{3}}