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 @@ }} + + {{t + 'resources.auth-method.form.maximum_page_size.label' + }} + {{t + 'resources.auth-method.form.maximum_page_size.help' + }} + + + + {{t + 'resources.auth-method.form.dereference_aliases.label' + }} + {{t + 'resources.auth-method.form.dereference_aliases.help' + }} + + + {{#each-in this.dereferenceAliasesList as |key value|}} + + {{/each-in}} + + + {{#if (can 'save model' @model)}}