private static string GetFieldValueFromIdentity(OpenAMIdentity openAMidentity, string fieldName)
        {
            string result = null;
            var attribute = openAMidentity.attributes.FirstOrDefault(a => a.name == fieldName);

            if (attribute != null)
                result = attribute.values.FirstOrDefault();
            return result;
        }
 public static Identity MapOpenAMIdentity(OpenAMIdentity openAMidentity)
 {
     return new Identity
     {
         Email = GetFieldValueFromIdentity(openAMidentity, "mail"),
         FirstName = GetFieldValueFromIdentity(openAMidentity, "givenname"),
         LastName = GetFieldValueFromIdentity(openAMidentity, "sn"),
         Roles = GetSeperatedList(openAMidentity, ',')
     };
 }
 private static List<string> GetSeperatedList(OpenAMIdentity openAMidentity, char separator)
 {
     var listAttribute = openAMidentity.roles.FirstOrDefault();
     return listAttribute != null ? listAttribute.Split(separator).ToList() : null;
 }