public static IEnumerable <Claim> GetAllClaims(this UserAccount account) { if (account == null) { throw new ArgumentNullException("account"); } var claims = new List <Claim>(); claims.AddRange(account.GetIdentificationClaims()); if (!String.IsNullOrWhiteSpace(account.Email)) { claims.Add(new Claim(ClaimTypes.Email, account.Email)); } if (!String.IsNullOrWhiteSpace(account.MobilePhoneNumber)) { claims.Add(new Claim(ClaimTypes.MobilePhone, account.MobilePhoneNumber)); } var x509 = from c in account.Certificates select new Claim(ClaimTypes.X500DistinguishedName, c.Subject); claims.AddRange(x509); var otherClaims = (from uc in account.Claims select new Claim(uc.Type, uc.Value)).ToList(); claims.AddRange(otherClaims); return(claims); }
private static List <Claim> GetBasicClaims(UserAccount account, string method) { if (account == null) { throw new ArgumentNullException("account"); } var claims = new List <Claim>(); claims.Add(new Claim(ClaimTypes.AuthenticationMethod, method)); claims.Add(new Claim(ClaimTypes.AuthenticationInstant, DateTime.UtcNow.ToString("s"))); claims.AddRange(account.GetIdentificationClaims()); return(claims); }