public override async Task <User> CreateUserAsync(string userNameOrEmailAddress, Tenant tenant)
        {
            if (await _settings.GetUseNovellLdap(tenant?.Id))
            {
                var user = await base.CreateUserAsync(userNameOrEmailAddress, tenant);

                UpdateUser(user);
                return(user);
            }

            return(await base.CreateUserAsync(userNameOrEmailAddress, tenant));
        }
        /// <inheritdoc/>
        public override async Task <bool> TryAuthenticateAsync(string userNameOrEmailAddress, string plainPassword, TTenant tenant)
        {
            if (!_ldapModuleConfig.IsEnabled || !(await _settings.GetIsEnabled(tenant?.Id)))
            {
                return(false);
            }

            if (await _settings.GetUseNovellLdap(tenant?.Id))
            {
                return(await ValidateCredentialsAsync(userNameOrEmailAddress, tenant));
            }

            using (var principalContext = await CreatePrincipalContext(tenant, userNameOrEmailAddress))
            {
                return(ValidateCredentials(principalContext, userNameOrEmailAddress, plainPassword));
            }
        }