身份名称不显示
Identity name does not display
我正在使用身份服务器 4 构建一个 aspnet.core mvc 项目。当我这样做时,我认为:
@User.Identity.Name
我没有得到任何显示,但是当我这样做时:
@User.Claims.FirstOrDefault(x => x.Type.ToLower() == "name").Value
我得到了想要的结果。我目前正在学习 Identity Server 4,所以我只是想知道有什么区别,以及我是否缺少一些逻辑。
ClaimsIdentity
不会自动知道您声明的名称类型。您需要在配置中设置 NameClaimType
属性,例如在 OIDC 中间件上 TokenValidationParamters
。
与角色相同:
https://leastprivilege.com/2016/08/21/why-does-my-authorize-attribute-not-work/
我正在使用身份服务器 4 构建一个 aspnet.core mvc 项目。当我这样做时,我认为:
@User.Identity.Name
我没有得到任何显示,但是当我这样做时:
@User.Claims.FirstOrDefault(x => x.Type.ToLower() == "name").Value
我得到了想要的结果。我目前正在学习 Identity Server 4,所以我只是想知道有什么区别,以及我是否缺少一些逻辑。
ClaimsIdentity
不会自动知道您声明的名称类型。您需要在配置中设置 NameClaimType
属性,例如在 OIDC 中间件上 TokenValidationParamters
。
与角色相同: https://leastprivilege.com/2016/08/21/why-does-my-authorize-attribute-not-work/