diff --git a/addons/api/addon/generated/models/auth-method.js b/addons/api/addon/generated/models/auth-method.js
index 36a82026a..91cbe70d0 100644
--- a/addons/api/addon/generated/models/auth-method.js
+++ b/addons/api/addon/generated/models/auth-method.js
@@ -298,4 +298,16 @@ export default class GeneratedAuthMethodModel extends BaseModel {
isNestedAttribute: true,
})
account_attribute_maps;
+
+ @attr('number', {
+ for: 'ldap',
+ isNestedAttribute: true,
+ })
+ maximum_page_size;
+
+ @attr('string', {
+ for: 'ldap',
+ isNestedAttribute: true,
+ })
+ dereference_aliases;
}
diff --git a/addons/api/addon/models/auth-method.js b/addons/api/addon/models/auth-method.js
index db128cfc8..d62a93a45 100644
--- a/addons/api/addon/models/auth-method.js
+++ b/addons/api/addon/models/auth-method.js
@@ -42,6 +42,12 @@ export const options = {
account_attribute_maps: {
to: ['fullName', 'email'],
},
+ dereference_aliases: {
+ NeverDerefAliases: 'never',
+ DerefInSearching: 'searching',
+ DerefFindingBaseObj: 'finding',
+ DerefAlways: 'always',
+ },
},
};
diff --git a/addons/api/tests/unit/serializers/auth-method-test.js b/addons/api/tests/unit/serializers/auth-method-test.js
index 708c27cd1..649e24de3 100644
--- a/addons/api/tests/unit/serializers/auth-method-test.js
+++ b/addons/api/tests/unit/serializers/auth-method-test.js
@@ -119,6 +119,8 @@ module('Unit | Serializer | auth method', function (hooks) {
],
client_certificate: 'certificate-1234',
client_certificate_key: 'secret456',
+ maximum_page_size: 100,
+ dereference_aliases: 'NeverDerefAliases',
});
let serializedRecord = record.serialize();
@@ -147,6 +149,8 @@ module('Unit | Serializer | auth method', function (hooks) {
certificates: ['certificate-1234', 'certificate-5678'],
client_certificate: 'certificate-1234',
client_certificate_key: 'secret456',
+ maximum_page_size: 100,
+ dereference_aliases: 'NeverDerefAliases',
},
});
});
@@ -229,6 +233,8 @@ module('Unit | Serializer | auth method', function (hooks) {
],
client_certificate: 'certificate-1234',
client_certificate_key: null,
+ maximum_page_size: 100,
+ dereference_aliases: 'NeverDerefAliases',
});
let serializedRecord = record.serialize();
@@ -256,6 +262,8 @@ module('Unit | Serializer | auth method', function (hooks) {
group_filter: '(member={{.UserDN}})',
certificates: ['certificate-1234', 'certificate-5678'],
client_certificate: 'certificate-1234',
+ maximum_page_size: 100,
+ dereference_aliases: 'NeverDerefAliases',
},
});
});
diff --git a/addons/core/translations/resources/en-us.yaml b/addons/core/translations/resources/en-us.yaml
index 3096462e7..258f48116 100644
--- a/addons/core/translations/resources/en-us.yaml
+++ b/addons/core/translations/resources/en-us.yaml
@@ -58,6 +58,10 @@ auth-method:
new-certificate: New Certificate
from-attr: From Attribute
to-attr: To Attribute
+ never: Never
+ searching: Searching
+ finding: Finding
+ always: Always
types:
password: Password
oidc: OIDC
@@ -134,6 +138,12 @@ auth-method:
use_token_groups:
label: Use Token Groups
help: Active Directory only. Uses a user's tokenGroups attribute to find their group memberships.
+ maximum_page_size:
+ label: Maximum Page Size
+ help: Maximum search result size to use when retrieving the authenticated user's groups
+ dereference_aliases:
+ label: Deference Aliases
+ help: Control how aliases are dereferenced when performing the search
account_attribute_maps:
label: Account Attribute Maps
help: Attribute maps from custom attributes to the standard fullname and email account attributes. These maps are represented as key=value where the key equals the from_attribute, and the value equals the to_attribute. For example, "preferredName=fullName".
diff --git a/ui/admin/app/components/form/auth-method/ldap/index.hbs b/ui/admin/app/components/form/auth-method/ldap/index.hbs
index b7fc4ea67..51661cc8a 100644
--- a/ui/admin/app/components/form/auth-method/ldap/index.hbs
+++ b/ui/admin/app/components/form/auth-method/ldap/index.hbs
@@ -622,6 +622,49 @@
}}
+