Skip to content
Snippets Groups Projects
Commit d9e43ded authored by Felix Sidokhine's avatar Felix Sidokhine
Browse files

made field mappings configurable

parent 59a28754
Branches
Tags
No related merge requests found
...@@ -19,7 +19,7 @@ import java.util.concurrent.ConcurrentLinkedQueue; ...@@ -19,7 +19,7 @@ import java.util.concurrent.ConcurrentLinkedQueue;
public class ADConnector implements AuthenticationSource { public class ADConnector implements AuthenticationSource {
private static final ConcurrentLinkedQueue<Endpoint> endpoints = new ConcurrentLinkedQueue<>(); private static final ConcurrentLinkedQueue<Endpoint> endpoints = new ConcurrentLinkedQueue<>();
private static ActiveDirectorySettings settings; public static ActiveDirectorySettings settings;
private final AuthenticationService authenticationService = new AuthenticationService(); private final AuthenticationService authenticationService = new AuthenticationService();
private final UserProfileService userProfileService = new UserProfileService(); private final UserProfileService userProfileService = new UserProfileService();
......
...@@ -18,19 +18,7 @@ import java.util.stream.Collectors; ...@@ -18,19 +18,7 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
public class UserProfileService { public class UserProfileService {
private static final HashMap<String,String> fieldMap = new HashMap<>(); private static final HashMap<String,String> fieldMap = ADConnector.settings.getFieldMappings();
static{
fieldMap.put("givenname","FirstName");
fieldMap.put("sn","LastName");
fieldMap.put("thumbnailPhoto","ProfilePicture");
fieldMap.put("mail","Email");
fieldMap.put("telephoneNumber","PhoneNumber");
fieldMap.put("mobile","MobileNumber");
fieldMap.put("facsimileTelephoneNumber","FaxNumber");
fieldMap.put("extensionName","PhoneNumberExtension");
fieldMap.put("o","Organization");
}
public UserProfile[] getUserProfile(String queryString, String field){ public UserProfile[] getUserProfile(String queryString, String field){
Endpoint endpoint = ADConnector.getConnection(); Endpoint endpoint = ADConnector.getConnection();
......
...@@ -3,13 +3,18 @@ package net.jami.jams.common.authentication.activedirectory; ...@@ -3,13 +3,18 @@ package net.jami.jams.common.authentication.activedirectory;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.util.HashMap;
@Getter @Getter
@Setter @Setter
public class ActiveDirectorySettings { public class ActiveDirectorySettings {
private Boolean ssl; private Boolean ssl;
private int port; private int port;
private String realm; private String realm;
private String host; private String host;
private String username; private String username;
private String password; private String password;
private HashMap<String,String> fieldMappings;
} }
...@@ -3,6 +3,8 @@ package net.jami.jams.common.authentication.ldap; ...@@ -3,6 +3,8 @@ package net.jami.jams.common.authentication.ldap;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import java.util.HashMap;
@Getter @Getter
@Setter @Setter
public class LDAPSettings { public class LDAPSettings {
...@@ -14,5 +16,6 @@ public class LDAPSettings { ...@@ -14,5 +16,6 @@ public class LDAPSettings {
private String username; private String username;
private String password; private String password;
private String usernameField; private String usernameField;
private HashMap<String,String> fieldMappings;
} }
...@@ -4,7 +4,18 @@ ...@@ -4,7 +4,18 @@
"realm": "SAVOIRFAIRELINU", "realm": "SAVOIRFAIRELINU",
"host": "192.168.49.151", "host": "192.168.49.151",
"username": "cn=Administrator,cn=Users,dc=savoirfairelinux,dc=net", "username": "cn=Administrator,cn=Users,dc=savoirfairelinux,dc=net",
"password": "abc123!" "password": "abc123!",
"fieldMappings": {
"givenname": "FirstName",
"sn": "LastName",
"thumbnailPhoto": "ProfilePicture",
"mail": "Email",
"telephoneNumber": "PhoneNumber",
"mobile": "MobileNumber",
"facsimileTelephoneNumber": "FaxNumber",
"extensionName": "PhoneNumberExtension",
"o": "Organization"
}
} }
...@@ -5,5 +5,16 @@ ...@@ -5,5 +5,16 @@
"host": "ldap://annuaire.savoirfairelinux.com", "host": "ldap://annuaire.savoirfairelinux.com",
"username": "cn=sipallow,ou=dsa,dc=savoirfairelinux,dc=net", "username": "cn=sipallow,ou=dsa,dc=savoirfairelinux,dc=net",
"password": "Dewaaghei3Yo", "password": "Dewaaghei3Yo",
"usernameField": "uid" "usernameField": "uid",
"fieldMappings": {
"givenName":"FirstName",
"sn":"LastName",
"jpegPhoto":"ProfilePicture",
"mail":"Email",
"telephoneNumber":"PhoneNumber",
"mobile":"MobileNumber",
"facsimileTelephoneNumber":"FaxNumber",
"extensionName":"PhoneNumberExtension",
"o":"Organization"
}
} }
\ No newline at end of file
...@@ -14,21 +14,9 @@ import java.util.Iterator; ...@@ -14,21 +14,9 @@ import java.util.Iterator;
@Slf4j @Slf4j
public class UserProfileService { public class UserProfileService {
private static final HashMap<String,String> fieldMap = new HashMap<>(); private static final HashMap<String,String> fieldMap = LDAPConnector.settings.getFieldMappings();
private final ConnectionFactory connectionFactory; private final ConnectionFactory connectionFactory;
static{
fieldMap.put("givenName","FirstName");
fieldMap.put("sn","LastName");
fieldMap.put("jpegPhoto","ProfilePicture");
fieldMap.put("mail","Email");
fieldMap.put("telephoneNumber","PhoneNumber");
fieldMap.put("mobile","MobileNumber");
fieldMap.put("facsimileTelephoneNumber","FaxNumber");
fieldMap.put("extensionName","PhoneNumberExtension");
fieldMap.put("o","Organization");
}
public UserProfileService(ConnectionFactory connectionFactory) { public UserProfileService(ConnectionFactory connectionFactory) {
this.connectionFactory = connectionFactory; this.connectionFactory = connectionFactory;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment