gpt4 book ai didi

c# - 获取 claim 电子邮件地址

转载 作者:行者123 更新时间:2023-12-03 08:14:36 30 4
gpt4 key购买 nike

我想通过Identity内的Claim访问我的电子邮件地址

我尝试访问为:

var email = User.Identity.GetClaimsByType("emailaddress").ToString();
var email = User.Identity.GetClaimsByType("email").ToString();
var email = User.Identity.GetClaimsByType("Email").ToString();

但是这些都不起作用,它总是返回null,我怎样才能得到它?

主张是:

{http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress: <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="115c68747c70787d50756363746262517c70787d3f727e7c" rel="noreferrer noopener nofollow">[email protected]</a>}

最佳答案

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>));

关于c# - 获取 claim 电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69802343/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com