diff --git a/api/portainer.go b/api/portainer.go
index 6f71dc176..de2511b37 100644
--- a/api/portainer.go
+++ b/api/portainer.go
@@ -67,6 +67,7 @@ type (
UserIdentifier string `json:"UserIdentifier"`
Scopes string `json:"Scopes"`
OAuthAutoCreateUsers bool `json:"OAuthAutoCreateUsers"`
+ DefaultTeamID TeamID `json:"DefaultTeamID"`
}
// TLSConfiguration represents a TLS configuration
diff --git a/app/extensions/oauth/components/oauth-settings/oauth-settings.html b/app/extensions/oauth/components/oauth-settings/oauth-settings.html
index e2a5217e0..1a51eac59 100644
--- a/app/extensions/oauth/components/oauth-settings/oauth-settings.html
+++ b/app/extensions/oauth/components/oauth-settings/oauth-settings.html
@@ -149,6 +149,9 @@
+
+ Automatic user provisioning
+
With automatic user provisioning enabled, Portainer will create user(s) automatically with standard user role. If
@@ -163,4 +166,25 @@
+
+
+
+
+ The users created by the automatic provisioning feature can be added to a default team on creation. This setting is optional.
+
+
+
+
diff --git a/app/extensions/oauth/components/oauth-settings/oauth-settings.js b/app/extensions/oauth/components/oauth-settings/oauth-settings.js
index d5031d187..51a9ec553 100644
--- a/app/extensions/oauth/components/oauth-settings/oauth-settings.js
+++ b/app/extensions/oauth/components/oauth-settings/oauth-settings.js
@@ -1,6 +1,7 @@
angular.module('portainer.extensions.oauth').component('oauthSettings', {
templateUrl: 'app/extensions/oauth/components/oauth-settings/oauth-settings.html',
bindings: {
- settings: '<'
+ settings: '<',
+ teams: '<'
}
});
diff --git a/app/portainer/models/settings.js b/app/portainer/models/settings.js
index 930ae4da5..bdb8b8713 100644
--- a/app/portainer/models/settings.js
+++ b/app/portainer/models/settings.js
@@ -53,4 +53,5 @@ function OAuthSettingsViewModel(data) {
this.UserIdentifier = data.UserIdentifier;
this.Scopes = data.Scopes;
this.OAuthAutoCreateUsers = data.OAuthAutoCreateUsers;
+ this.DefaultTeamID = data.DefaultTeamID;
}
\ No newline at end of file
diff --git a/app/portainer/views/settings/authentication/settingsAuthentication.html b/app/portainer/views/settings/authentication/settingsAuthentication.html
index d7427269c..f47d02032 100644
--- a/app/portainer/views/settings/authentication/settingsAuthentication.html
+++ b/app/portainer/views/settings/authentication/settingsAuthentication.html
@@ -322,7 +322,7 @@
-
+
diff --git a/app/portainer/views/settings/authentication/settingsAuthenticationController.js b/app/portainer/views/settings/authentication/settingsAuthenticationController.js
index dc74a3b54..8a22d1783 100644
--- a/app/portainer/views/settings/authentication/settingsAuthenticationController.js
+++ b/app/portainer/views/settings/authentication/settingsAuthenticationController.js
@@ -1,6 +1,6 @@
angular.module('portainer.app')
-.controller('SettingsAuthenticationController', ['$q', '$scope', 'Notifications', 'SettingsService', 'FileUploadService',
-function ($q, $scope, Notifications, SettingsService, FileUploadService) {
+.controller('SettingsAuthenticationController', ['$q', '$scope', 'Notifications', 'SettingsService', 'FileUploadService', 'TeamService',
+function ($q, $scope, Notifications, SettingsService, FileUploadService, TeamService) {
$scope.state = {
successfulConnectivityCheck: false,
@@ -96,9 +96,12 @@ function ($q, $scope, Notifications, SettingsService, FileUploadService) {
}
function initView() {
- SettingsService.settings()
- .then(function success(data) {
- var settings = data;
+ $q.all({
+ settings: SettingsService.settings(),
+ teams: TeamService.teams()
+ }).then(function success(data) {
+ var settings = data.settings;
+ $scope.teams = data.teams;
$scope.settings = settings;
$scope.LDAPSettings = settings.LDAPSettings;
$scope.OAuthSettings = settings.OAuthSettings;