protected override IEnumerable<Claim> GetClaimsFromProfile(Dictionary<string, object> profile)
{
var emailsQuery =
from item in profile
where item.Key == "emails"
select item.Value;
var emails = emailsQuery.FirstOrDefault();
if (emails != null)
{
profile.Remove("emails");
var json = emails.ToString();
var emailsObj = Newtonsoft.Json.JsonConvert.DeserializeAnonymousType(json, new { preferred = "" });
if (emailsObj != null && !String.IsNullOrWhiteSpace(emailsObj.preferred))
{
profile.Add("email", emailsObj.preferred);
}
}
return base.GetClaimsFromProfile(profile);
}
}