【发布时间】:2022-01-19 18:58:25
【问题描述】:
我有 email 声明的 Cognito id 令牌。
..........
"iat": 164456734,
"jti": "81ac2634-e241-444f-88cf-eabf454644",
"email": "david@mail.com"
}
但是,在 c# 中,asp net core jwt 中间件身份验证电子邮件声明从email 类型转换为http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress - ClaimTypes.Email。
但后来我手动读取了令牌:
var token = new JwtSecurityTokenHandler().ReadJwtToken(jwtToken);
var claimsIdentity = new ClaimsIdentity(token.Claims);
var claimsPrincipal = new ClaimsPrincipal(claimsIdentity)
声明类型未转换并保持为email。
为什么在 asp net core 中的身份验证声明被转换为http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress?
我可以在不手动修改Claims 列表的情况下手动创建claimsPrincipal 来进行email 声明转换吗?
【问题讨论】:
标签: asp.net-core jwt openid-connect