Jes*_*sus 2 c# asp.net-web-api asp.net-identity
我想通过Claim内部访问我的电子邮件地址Identity
我尝试访问为:
var email = User.Identity.GetClaimsByType("emailaddress").ToString();
var email = User.Identity.GetClaimsByType("email").ToString();
var email = User.Identity.GetClaimsByType("Email").ToString();
Run Code Online (Sandbox Code Playgroud)
但这些都不起作用,它总是返回null,我怎样才能得到它?
索赔要求是:
{http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress: MyemailAdrress@mail.com}
Run Code Online (Sandbox Code Playgroud)
C# 提供了一个声明类型枚举来表示声明类型 url。代码如下所示:
var email = User.Identity.GetClaimsByType(ClaimTypes.Email)
.Select(x => x.Value).FirstOrDefault().ToString();
Run Code Online (Sandbox Code Playgroud)
如果您支持身份中的自定义声明类型,则可以使用 LINQ。
var claimValue = User.Identity.Claims
.FirstOrDefault(claim => claim.Type.Contains(<my custom claim type>));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2008 次 |
| 最近记录: |