diff --git a/themes/src/main/resources/theme/base/admin/resources/js/controllers/realm.js b/themes/src/main/resources/theme/base/admin/resources/js/controllers/realm.js
index 6a438e4..b54ea0f 100644
--- a/themes/src/main/resources/theme/base/admin/resources/js/controllers/realm.js
+++ b/themes/src/main/resources/theme/base/admin/resources/js/controllers/realm.js
@@ -860,9 +860,11 @@ module.controller('RealmIdentityProviderCtrl', function($scope, $filter, $upload
$scope.serverInfo = serverInfo;
$scope.allProviders = angular.copy(serverInfo.identityProviders);
-
+
$scope.configuredProviders = angular.copy(realm.identityProviders);
+ removeUsedSocial();
+
$scope.authFlows = [];
for (var i=0 ; i<authFlows.length ; i++) {
if (authFlows[i].providerId == 'basic-flow') {
@@ -1045,6 +1047,20 @@ module.controller('RealmIdentityProviderCtrl', function($scope, $filter, $upload
});
});
};
+
+ // KEYCLOAK-5932: remove social providers that have already been defined
+ function removeUsedSocial() {
+ var i = $scope.allProviders.length;
+ while (i--) {
+ if ($scope.allProviders[i].groupName !== 'Social') continue;
+ for (var j = 0; j < $scope.configuredProviders.length; j++) {
+ if ($scope.configuredProviders[j].providerId === $scope.allProviders[i].id) {
+ $scope.allProviders.splice(i, 1);
+ break;
+ }
+ }
+ }
+ };
});