Пример #1
0
        public static void AddClaimsFrom(this ClaimsIdentity identity, CachedUserInfoData userInfo)
        {
            identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, userInfo.UserId.ToString()));
            identity.AddClaim(new Claim(ClaimTypes.Name, userInfo.UserName));
            identity.AddClaim(new Claim(ClaimTypes.Email, userInfo.Email));

            if (!string.IsNullOrEmpty(userInfo.FirstName))
            {
                identity.AddClaim(new Claim(ClaimTypes.GivenName, userInfo.FirstName));
            }

            if (!string.IsNullOrEmpty(userInfo.LastName))
            {
                identity.AddClaim(new Claim(ClaimTypes.Surname, userInfo.LastName));
            }

            if (userInfo.Roles != null)
            {
                for (int i = 0, n = userInfo.Roles.Length; i < n; i++)
                {
                    identity.AddClaim(new Claim(ClaimTypes.Role, userInfo.Roles[i]));
                }
            }
        }
Пример #2
0
 public static void AddClaimsFrom(this ClaimsPrincipal principal, CachedUserInfoData userInfo) =>
 ((ClaimsIdentity)principal.Identity).AddClaimsFrom(userInfo);