/// <summary> /// Converts a ClaimsPrincipalLite to ClaimsPrincipal /// </summary> /// <param name="principal"></param> /// <returns></returns> public static ClaimsPrincipal ToClaimsPrincipal(this ClaimsPrincipalLite principal) { var claims = principal.Claims.Select(x => new Claim(x.Type, x.Value, x.ValueType ?? ClaimValueTypes.String)).ToArray(); var id = new ClaimsIdentity(claims, principal.AuthenticationType, principal.NameClaimType, principal.RoleClaimType); return(new ClaimsPrincipal(id)); }
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { var source = (ClaimsPrincipal)value; var target = new ClaimsPrincipalLite { AuthenticationType = source.Identity.AuthenticationType, Claims = source.Claims.Select(x => new ClaimLite(x)).ToArray() }; serializer.Serialize(writer, target); }