diff --git a/app/settings.py b/app/settings.py index b6db4bcb75e3bf5975e1b9c85959b65d8fdcce75..5832c1536426df67cddebb54dae206a7db3a6b47 100644 --- a/app/settings.py +++ b/app/settings.py @@ -41,22 +41,32 @@ ELASTICSEARCH_INDEX_SUFFIX = "-dev" # https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-refresh.html ELASTICSEARCH_REFRESH = "false" -LDAP_HOST = "esss.lu.se" -LDAP_BASE_DN = "DC=esss,DC=lu,DC=se" -LDAP_USER_DN = "" -LDAP_GROUP_DN = "" +LDAP_HOST = os.environ.get("LDAP_HOST", "esss.lu.se") +LDAP_PORT = int(os.environ.get("LDAP_PORT", 389)) +LDAP_USE_SSL = os.environ.get("LDAP_USE_SSL", "false").lower() == "true" +LDAP_BASE_DN = os.environ.get("LDAP_BASE_DN", "DC=esss,DC=lu,DC=se") +LDAP_USER_DN = os.environ.get("LDAP_USER_DN", "") +LDAP_GROUP_DN = os.environ.get("LDAP_GROUP_DN", "") LDAP_BIND_USER_DN = os.environ.get("LDAP_BIND_USER_DN", "ldapuser") LDAP_BIND_USER_PASSWORD = os.environ.get("LDAP_BIND_USER_PASSWORD", "secret") -LDAP_USER_RDN_ATTR = "cn" -LDAP_USER_LOGIN_ATTR = "sAMAccountName" -LDAP_ALWAYS_SEARCH_BIND = True -LDAP_USER_OBJECT_FILTER = "(samAccountType=805306368)" -LDAP_GROUP_OBJECT_FILTER = "" -LDAP_USER_SEARCH_SCOPE = "SUBTREE" -LDAP_GROUP_SEARCH_SCOPE = "SUBTREE" -LDAP_GROUP_MEMBERS_ATTR = "member" -LDAP_GET_USER_ATTRIBUTES = ["cn", "sAMAccountName", "mail"] -LDAP_GET_GROUP_ATTRIBUTES = ["cn"] +LDAP_USER_RDN_ATTR = os.environ.get("LDAP_USER_RDN_ATTR", "cn") +LDAP_USER_LOGIN_ATTR = os.environ.get("LDAP_USER_LOGIN_ATTR", "sAMAccountName") +LDAP_ALWAYS_SEARCH_BIND = ( + os.environ.get("LDAP_ALWAYS_SEARCH_BIND", "true").lower() == "true" +) +LDAP_USER_OBJECT_FILTER = os.environ.get( + "LDAP_USER_OBJECT_FILTER", "(samAccountType=805306368)" +) +LDAP_GROUP_OBJECT_FILTER = os.environ.get("LDAP_GROUP_OBJECT_FILTER", "") +LDAP_USER_SEARCH_SCOPE = os.environ.get("LDAP_USER_SEARCH_SCOPE", "SUBTREE") +LDAP_GROUP_SEARCH_SCOPE = os.environ.get("LDAP_GROUP_SEARCH_SCOPE", "SUBTREE") +LDAP_GROUP_MEMBERS_ATTR = os.environ.get("LDAP_GROUP_MEMBERS_ATTR", "member") +# The following variables should be a list +# Can be passed as space separated string +LDAP_GET_USER_ATTRIBUTES = os.environ.get( + "LDAP_GET_USER_ATTRIBUTES", "cn sAMAccountName mail" +).split() +LDAP_GET_GROUP_ATTRIBUTES = os.environ.get("LDAP_GET_GROUP_ATTRIBUTES", "cn").split() # Mapping between CSEntry groups and LDAP groups # The generic "network" group is automatically added based