using System; using System.Collections.Generic; using System.IdentityModel.Tokens.Jwt; using System.Linq; using System.Security.Claims; using System.Threading.Tasks; namespace LiangLiSystem.Services.Helpers { public class ParserForUserFromClaim { public ClaimsIdentity userIdentity { get; set; } public ParserForUserFromClaim(ClaimsIdentity c) { userIdentity = c; } public int GetUserId() { if (userIdentity == null) { return 0; } var result = userIdentity.Claims.Where(c => c.Type == ClaimTypes.NameIdentifier); return Convert.ToInt16(result.FirstOrDefault().Value); } public string GetUserName() { if (userIdentity == null) { return string.Empty; } var result = userIdentity.Claims.Where(c => c.Type == ClaimTypes.GivenName); return result.FirstOrDefault().Value.ToString(); } public string GetAccount() { if (userIdentity == null) { return string.Empty; } var result = userIdentity.Claims.Where(c => c.Type == "name"); return result.FirstOrDefault().Value.ToString(); } } }