Commit 4b66715
authored
enable remote enrollment for LDAP users (#2609)
* add LDAP remote enrollment toggles to settings
* add form inputs
* update frontend API types
* update form schema
* update copy
* hide second checkbox until the first one is checked
* formatting
* disable LDAP sync section if not all required inputs are filled
* refactor required fields check for easier sharing between sections
* disable remote enrollment section when SMTP or LDAP is not configured
* add ldap_configured helper mirroring frontend logic
* extend settings validation
* expand validation
* disable toggle if required fields are not filled
* add explanation
* validate if ldap can be enabled
* update ui submodule
* make validation consistent in ldap settings form
* also match backend validation with frontend
* test ldap validation in API
* formatting
* update user model to track remote enrollment status
* update logic for calculating enrollment status
* test enrollment status updates in LDAP user lifetime
* add helper for sending enrollment invites to LDAP users
* send invite emails when adding new LDAP users
* fix is_enrolled check order to handle LDAP login password sync
* add tests for LDAP enrollment
* remove comment
* add second login/sync test
* formatting
* update ui submodule
* send invites after user create transaction is commited
* fix settings save query
* update ui submodule
* update button text
* update dependencies
* avoid sending duplicate emails
* update ui submodule
* use a different approach to avoid duplicate codes1 parent 14b9636 commit 4b66715
55 files changed
Lines changed: 2099 additions & 632 deletions
File tree
- .sqlx
- crates
- defguard_common/src/db/models
- defguard_core
- src
- enterprise
- db/models
- ldap
- handlers
- tests/integration/api
- common
- defguard_event_logger/src
- defguard_proxy_manager/src
- servers
- tests/proxy_manager/handler
- migrations
- web
- messages/en
- src
- pages
- EditLocationPage
- settings/SettingsLdapPage
- user-profile/UserProfilePage/tabs/ProfileDetailsTab/modals/EmailMfaSetupModal
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments