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

made field mappings configurable

parent 59a28754
No related branches found
No related tags found
No related merge requests found
......@@ -19,7 +19,7 @@ import java.util.concurrent.ConcurrentLinkedQueue;
public class ADConnector implements AuthenticationSource {
private static final ConcurrentLinkedQueue<Endpoint> endpoints = new ConcurrentLinkedQueue<>();
private static ActiveDirectorySettings settings;
public static ActiveDirectorySettings settings;
private final AuthenticationService authenticationService = new AuthenticationService();
private final UserProfileService userProfileService = new UserProfileService();
......
......@@ -18,19 +18,7 @@ import java.util.stream.Collectors;
@Slf4j
public class UserProfileService {
private static final HashMap<String,String> fieldMap = new HashMap<>();
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");
}
private static final HashMap<String,String> fieldMap = ADConnector.settings.getFieldMappings();
public UserProfile[] getUserProfile(String queryString, String field){
Endpoint endpoint = ADConnector.getConnection();
......
......@@ -3,13 +3,18 @@ package net.jami.jams.common.authentication.activedirectory;
import lombok.Getter;
import lombok.Setter;
import java.util.HashMap;
@Getter
@Setter
public class ActiveDirectorySettings {
private Boolean ssl;
private int port;
private String realm;
private String host;
private String username;
private String password;
private HashMap<String,String> fieldMappings;
}
......@@ -3,6 +3,8 @@ package net.jami.jams.common.authentication.ldap;
import lombok.Getter;
import lombok.Setter;
import java.util.HashMap;
@Getter
@Setter
public class LDAPSettings {
......@@ -14,5 +16,6 @@ public class LDAPSettings {
private String username;
private String password;
private String usernameField;
private HashMap<String,String> fieldMappings;
}
{
"ssl": false,
"port" : 389,
"realm": "SAVOIRFAIRELINU",
"host": "192.168.49.151",
"username": "cn=Administrator,cn=Users,dc=savoirfairelinux,dc=net",
"password": "abc123!"
"ssl": false,
"port": 389,
"realm": "SAVOIRFAIRELINU",
"host": "192.168.49.151",
"username": "cn=Administrator,cn=Users,dc=savoirfairelinux,dc=net",
"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 @@
"host": "ldap://annuaire.savoirfairelinux.com",
"username": "cn=sipallow,ou=dsa,dc=savoirfairelinux,dc=net",
"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;
@Slf4j
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;
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) {
this.connectionFactory = connectionFactory;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment