本文整理汇总了C#中System.Security.Claims.ClaimsIdentity.GetFirstOrDefault方法的典型用法代码示例。如果您正苦于以下问题:C# ClaimsIdentity.GetFirstOrDefault方法的具体用法?C# ClaimsIdentity.GetFirstOrDefault怎么用?C# ClaimsIdentity.GetFirstOrDefault使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Security.Claims.ClaimsIdentity
的用法示例。
在下文中一共展示了ClaimsIdentity.GetFirstOrDefault方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Parse
public ExternalLoginData Parse(ClaimsIdentity identity)
{
if (identity == null)
{
return null;
}
var nameClaim = identity.FindFirst(ClaimTypes.NameIdentifier);
if (nameClaim == null || String.IsNullOrEmpty(nameClaim.Issuer) || String.IsNullOrEmpty(nameClaim.Value))
{
throw new ApplicationException("Cannot find a claim of ClaimTypes.NameIdentifier");
}
if (nameClaim.Issuer == ClaimsIdentity.DefaultIssuer)
{
return null;
}
var loginData = new ExternalLoginData
{
ProviderName = nameClaim.Issuer,
ProviderKey = nameClaim.Value,
Name = identity.GetFirstOrDefault(ClaimTypes.Name),
Email = identity.GetFirstOrDefault(ClaimTypes.Email),
};
ParseDetailLoginData(identity, ref loginData);
return loginData;
}
示例2: Parse
public void Parse(ClaimsIdentity identity, ref ExternalLoginData loginData)
{
loginData.Profile = identity.GetFirstOrDefault("urn:github:url");
loginData.UserName = identity.GetFirstOrDefault(ClaimTypes.Name);
loginData.Name = identity.GetFirstOrDefault("urn:github:name");
}
示例3: Parse
public void Parse(ClaimsIdentity identity, ref ExternalLoginData loginData)
{
loginData.Profile = identity.GetFirstOrDefault("urn:google:profile");
}
示例4: Parse
public void Parse(ClaimsIdentity identity, ref ExternalLoginData loginData)
{
loginData.Profile = identity.GetFirstOrDefault("urn:linkedin:url");
loginData.Name = identity.GetFirstOrDefault("urn:linkedin:name");
}