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; }