升级到 NET8 后无法通过身份获取电子邮件索赔

问题描述 投票:0回答:1

我将我的项目从 NET7 升级到 NET8。我知道声明有重大变化。

在NET7中我曾经这样做过:

return auth?.User?.Claims?.SingleOrDefault(x => x.Type == "email")?.Value;

在NET8中,看起来我需要做:

return auth?.User?.Claims?.SingleOrDefault(x => x.Type == @"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress")?.Value;

有更好的方法来检索电子邮件索赔吗?

c# jwt openid .net-8.0
1个回答
0
投票

System.Security.Claims
命名空间包含一堆可以用于此目的的常量。例如:

using System.Security.Claims;

...

return auth?.User?.Claims?
    .SingleOrDefault(x => x.Type == ClaimTypes.Email)?.Value;
© www.soinside.com 2019 - 2024. All rights reserved.