Add LDAP group sync to Teams, fixes #1395 (#16299)

* Add setting for a JSON that maps LDAP groups to Org Teams.
* Add log when removing or adding team members.
* Sync is being run on login and periodically.
* Existing group filter settings are reused.
* Adding and removing team members.
* Sync not existing LDAP group.
* Login with broken group map JSON.
This commit is contained in:
Sven Seeberg 2022-02-11 15:24:58 +01:00 committed by GitHub
parent 26718a785a
commit 832ce406ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 423 additions and 65 deletions

View file

@ -91,12 +91,8 @@ export function initAdminCommon() {
}
}
function onVerifyGroupMembershipChange() {
if ($('#groups_enabled').is(':checked')) {
$('#groups_enabled_change').show();
} else {
$('#groups_enabled_change').hide();
}
function onEnableLdapGroupsChange() {
$('#ldap-group-options').toggle($('.js-ldap-group-toggle').is(':checked'));
}
// New authentication
@ -139,7 +135,7 @@ export function initAdminCommon() {
}
if (authType === '2' || authType === '5') {
onSecurityProtocolChange();
onVerifyGroupMembershipChange();
onEnableLdapGroupsChange();
}
if (authType === '2') {
onUsePagedSearchChange();
@ -150,15 +146,15 @@ export function initAdminCommon() {
$('#use_paged_search').on('change', onUsePagedSearchChange);
$('#oauth2_provider').on('change', () => onOAuth2Change(true));
$('#oauth2_use_custom_url').on('change', () => onOAuth2UseCustomURLChange(true));
$('#groups_enabled').on('change', onVerifyGroupMembershipChange);
$('.js-ldap-group-toggle').on('change', onEnableLdapGroupsChange);
}
// Edit authentication
if ($('.admin.edit.authentication').length > 0) {
const authType = $('#auth_type').val();
if (authType === '2' || authType === '5') {
$('#security_protocol').on('change', onSecurityProtocolChange);
$('#groups_enabled').on('change', onVerifyGroupMembershipChange);
onVerifyGroupMembershipChange();
$('.js-ldap-group-toggle').on('change', onEnableLdapGroupsChange);
onEnableLdapGroupsChange();
if (authType === '2') {
$('#use_paged_search').on('change', onUsePagedSearchChange);
}