获取索赔电子邮件地址
Get claim email address
我想通过 Claim
在 Identity
中访问我的电子邮件地址
我尝试访问为:
var email = User.Identity.GetClaimsByType("emailaddress").ToString();
var email = User.Identity.GetClaimsByType("email").ToString();
var email = User.Identity.GetClaimsByType("Email").ToString();
但是none这些作品,总是returnnull
,我怎样才能得到它?
索赔是:
{http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress: MyemailAdrress@mail.com}
C# 提供了一个 Claim Types Enum 来表示声明类型 url。代码如下所示:
var email = User.Identity.GetClaimsByType(ClaimTypes.Email).Select(x => x.Value).FirstOrDefault().ToString();
如果您在身份中支持自定义声明类型,则可以使用 LINQ。
var claimValue = User.Identity.Claims.FirstOrDefault(claim => claim.Type.Contains(<my custom claim type>));
我想通过 Claim
在 Identity
我尝试访问为:
var email = User.Identity.GetClaimsByType("emailaddress").ToString();
var email = User.Identity.GetClaimsByType("email").ToString();
var email = User.Identity.GetClaimsByType("Email").ToString();
但是none这些作品,总是returnnull
,我怎样才能得到它?
索赔是:
{http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress: MyemailAdrress@mail.com}
C# 提供了一个 Claim Types Enum 来表示声明类型 url。代码如下所示:
var email = User.Identity.GetClaimsByType(ClaimTypes.Email).Select(x => x.Value).FirstOrDefault().ToString();
如果您在身份中支持自定义声明类型,则可以使用 LINQ。
var claimValue = User.Identity.Claims.FirstOrDefault(claim => claim.Type.Contains(<my custom claim type>));