diff --git a/server/src/main/java/password/pwm/config/PwmSettingTemplate.java b/server/src/main/java/password/pwm/config/PwmSettingTemplate.java
index a844f4f41..edd3f6f60 100644
--- a/server/src/main/java/password/pwm/config/PwmSettingTemplate.java
+++ b/server/src/main/java/password/pwm/config/PwmSettingTemplate.java
@@ -34,6 +34,7 @@ public enum PwmSettingTemplate
DEFAULT( Type.LDAP_VENDOR ),
NOVL_IDM( Type.LDAP_VENDOR ),
OPEN_LDAP( Type.LDAP_VENDOR ),
+ FREEIPA( Type.LDAP_VENDOR ),
LOCALDB( Type.STORAGE ),
DB( Type.STORAGE ),
diff --git a/server/src/main/resources/password/pwm/config/PwmSetting.xml b/server/src/main/resources/password/pwm/config/PwmSetting.xml
index 6144574ad..d4b75d2ac 100644
--- a/server/src/main/resources/password/pwm/config/PwmSetting.xml
+++ b/server/src/main/resources/password/pwm/config/PwmSetting.xml
@@ -34,6 +34,7 @@
+
@@ -489,6 +490,7 @@
CN=@PwmAppName@-Proxy,CN=Users,DC=ad,DC=site,DC=example,DC=com
cn=@PwmAppName@-Proxy,cn=Administrators,cn=config
cn=@PwmAppName@-Proxy,dc=example,dc=com
+ uid=@PwmAppName@-Proxy,cn=users,cn=accounts,dc=example,dc=com
@@ -497,6 +499,7 @@
ldapDNsyntax
ou=users,o=example
CN=users,DC=site,DC=example,DC=net
+ cn=users,cn=accounts,dc=example,dc=com
@@ -509,6 +512,7 @@
CN=@PwmAppName@-Testuser,CN=Users,DC=ad,DC=site,DC=example,DC=com
cn=@PwmAppName@-Testuser,cn=Administrators,cn=config
cn=@PwmAppName@-Testuser,dc=example,dc=com
+ uid=@PwmAppName@-Testuser,cn=users,cn=accounts,dc=example,dc=com
@@ -519,6 +523,7 @@
CN=@PwmAppName@-Administrators,CN=Builtin,DC=site,DC=example,DC=net
cn=@PwmAppName@-Admins,OU=Groups,DC=ad,DC=site,DC=example,DC=net
cn=@PwmAppName@-Admins,dc=example,dc=com
+ cn=@PwmAppName@-Admins,cn=groups,cn=accounts,dc=example,dc=com
@@ -533,6 +538,9 @@
+
+
+
^[a-zA-Z][a-zA-Z0-9-]*$
@@ -576,6 +584,9 @@
memberof
+
+ memberof
+
@@ -602,6 +613,9 @@
+
+
+
@@ -612,6 +626,9 @@
+
+
+
@@ -668,6 +685,9 @@
+
+
+
Follow LDAP Referrals. Not typically required.
@@ -1296,6 +1316,11 @@
+
+
+
+
+
@@ -2683,6 +2708,9 @@
ldapDNsyntax
+
+
+
@@ -2697,6 +2725,12 @@
Form_ShowRequiredOption
Form_ShowReadOnlyOption
Form_ShowSource
+
+ {"name":"uid","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"unique":true,"labels":{"":"Username"},"regexErrors":{"":"Username has invalid characters"},"description":{"":""},"placeholder":"username","selectOptions":{},regex:"^[a-zA-Z0-9 .,'@]*$"}
+ {"name":"mail","minimumLength":1,"maximumLength":64,"type":"email","required":true,"confirmationRequired":false,"readonly":false,"unique":true,"labels":{"":"Email Address"},"regexErrors":{"":"Email Address has invalid characters"},"description":{"":""},"placeholder":"username@example.com","selectOptions":{},regex:"^[a-zA-Z0-9 .,'@]*$"}
+ {"name":"givenName","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"First Name"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{},regex:"^[a-zA-Z0-9 .,'@]*$"}
+ {"name":"sn","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Last Name"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{},regex:"^[a-zA-Z0-9 .,'@]*$"}
+
{"name":"mail","minimumLength":1,"maximumLength":64,"type":"email","required":true,"confirmationRequired":false,"readonly":false,"unique":true,"labels":{"":"Email Address"},"regexErrors":{"":"Email Address has invalid characters"},"description":{"":""},"placeholder":"username@example.com","selectOptions":{},regex:"^[a-zA-Z0-9 .,'@]*$"}
{"name":"givenName","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"First Name"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{},regex:"^[a-zA-Z0-9 .,'@]*$"}
@@ -2806,6 +2840,13 @@
Form_ShowUniqueOption
Form_ShowRequiredOption
+
+ {"name":"uid","minimumLength":2,"maximumLength":32,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"unique":true,"labels":{"":"Username"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+ {"name":"givenName","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"First Name"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+ {"name":"sn","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Last Name"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+ {"name":"mail","minimumLength":1,"maximumLength":64,"type":"email","required":true,"unique":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Email Address"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+ {"name":"telephoneNumber","minimumLength":1,"maximumLength":64,"type":"tel","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Telephone Number"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+
{"name":"cn","minimumLength":2,"maximumLength":32,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"unique":true,"labels":{"":"Username"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
{"name":"givenName","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"First Name"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
@@ -2834,6 +2875,13 @@
Form_ShowUniqueOption
Form_ShowRequiredOption
+
+ {"name":"uid","minimumLength":2,"maximumLength":32,"type":"text","required":false,"confirmationRequired":false,"readonly":true,"labels":{"":"Username"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+ {"name":"givenName","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"First Name"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+ {"name":"sn","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Last Name"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+ {"name":"mail","minimumLength":1,"maximumLength":64,"type":"email","required":true,"unique":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Email Address"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+ {"name":"telephoneNumber","minimumLength":1,"maximumLength":64,"type":"tel","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Telephone Number"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+
{"name":"cn","minimumLength":2,"maximumLength":32,"type":"text","required":false,"confirmationRequired":false,"readonly":true,"labels":{"":"Username"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
{"name":"givenName","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"First Name"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
@@ -2860,6 +2908,10 @@
^[a-zA-Z][a-zA-Z0-9-]*$
+
+
+
+
@@ -2924,6 +2976,9 @@
{"name":"uid","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Username"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+
+ {"name":"uid","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Username"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+
@@ -3367,6 +3422,13 @@
{"name":"mail","minimumLength":1,"maximumLength":64,"type":"email","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Email"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
{"name":"workforceID","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Workforce ID"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+
+ {"name":"uid","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Username"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+ {"name":"givenName","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"First Name"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+ {"name":"sn","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Last Name"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+ {"name":"mail","minimumLength":1,"maximumLength":64,"type":"email","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Email"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+ {"name":"workforceID","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Workforce ID"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
+
{"name":"sAMAccountName","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"Username"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}
{"name":"givenName","minimumLength":1,"maximumLength":64,"type":"text","required":true,"confirmationRequired":false,"readonly":false,"labels":{"":"First Name"},"regexErrors":{"":""},"description":{"":""},"selectOptions":{}}