ldap: add provider field

This commit is contained in:
Girish Ramakrishnan
2019-10-25 15:38:04 -07:00
parent 106187e2f4
commit 9528db700a
2 changed files with 38 additions and 26 deletions

View File

@@ -11,6 +11,14 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
$scope.showExternalLdap = true;
$scope.ldapProvider = [
{ name: 'Active Directory', value: 'ad' },
{ name: 'Jumpcloud', value: 'jumpcloud' },
{ name: 'Okta', value: 'okta' },
{ name: 'Other', value: 'other' },
{ name: 'Disabled', value: 'noop' }
];
$scope.ready = false;
$scope.users = [];
$scope.usersById = [];
@@ -430,7 +438,7 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
taskId: 0,
// fields
enabled: false,
provider: 'noop',
url: '',
baseDn: '',
filter: '',
@@ -476,15 +484,18 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
$scope.externalLdap.error = {};
var config = {
enabled: $scope.externalLdap.enabled,
url: $scope.externalLdap.url,
baseDn: $scope.externalLdap.baseDn,
filter: $scope.externalLdap.filter
provider: $scope.externalLdap.provider
};
if ($scope.externalLdap.bindDn) {
config.bindDn = $scope.externalLdap.bindDn;
config.bindPassword = $scope.externalLdap.bindPassword;
if ($scope.externalLdap.provider !== 'noop') {
config.url = $scope.externalLdap.url;
config.baseDn = $scope.externalLdap.baseDn;
config.filter = $scope.externalLdap.filter;
if ($scope.externalLdap.bindDn) {
config.bindDn = $scope.externalLdap.bindDn;
config.bindPassword = $scope.externalLdap.bindPassword;
}
}
Client.setExternalLdapConfig(config, function (error) {
@@ -589,12 +600,14 @@ angular.module('Application').controller('UsersController', ['$scope', '$locatio
Client.getExternalLdapConfig(function (error, result) {
if (error) return console.error('Unable to get external ldap config.', error);
$scope.externalLdap.enabled = result.enabled;
$scope.externalLdap.url = result.url;
$scope.externalLdap.baseDn = result.baseDn;
$scope.externalLdap.filter = result.filter;
$scope.externalLdap.bindDn = result.bindDn;
$scope.externalLdap.bindPassword = result.bindPassword;
$scope.externalLdap.provider = result.provider;
if (result.provider !== 'noop') {
$scope.externalLdap.url = result.url;
$scope.externalLdap.baseDn = result.baseDn;
$scope.externalLdap.filter = result.filter;
$scope.externalLdap.bindDn = result.bindDn;
$scope.externalLdap.bindPassword = result.bindPassword;
}
Client.getLatestTaskByType('syncExternalLdap', function (error, task) {
if (error) return console.error(error);