mirror of https://github.com/portainer/portainer
feat(oauth): default team for user on oauth settings
parent
4d8133f696
commit
2755527d28
|
@ -67,6 +67,7 @@ type (
|
||||||
UserIdentifier string `json:"UserIdentifier"`
|
UserIdentifier string `json:"UserIdentifier"`
|
||||||
Scopes string `json:"Scopes"`
|
Scopes string `json:"Scopes"`
|
||||||
OAuthAutoCreateUsers bool `json:"OAuthAutoCreateUsers"`
|
OAuthAutoCreateUsers bool `json:"OAuthAutoCreateUsers"`
|
||||||
|
DefaultTeamID TeamID `json:"DefaultTeamID"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// TLSConfiguration represents a TLS configuration
|
// TLSConfiguration represents a TLS configuration
|
||||||
|
|
|
@ -149,6 +149,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-12 form-section-title">
|
||||||
|
Automatic user provisioning
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<span class="col-sm-12 text-muted small">
|
<span class="col-sm-12 text-muted small">
|
||||||
With automatic user provisioning enabled, Portainer will create user(s) automatically with standard user role. If
|
With automatic user provisioning enabled, Portainer will create user(s) automatically with standard user role. If
|
||||||
|
@ -163,4 +166,25 @@
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div ng-if="$ctrl.settings.OAuthAutoCreateUsers">
|
||||||
|
<div class="form-group">
|
||||||
|
<span class="col-sm-12 text-muted small">
|
||||||
|
The users created by the automatic provisioning feature can be added to a default team on creation. This setting is optional.
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="team_provisioning" class="col-sm-2 col-lg-1">Default team</label>
|
||||||
|
<div class="col-sm-1">
|
||||||
|
<button type="button" class="btn btn-sm btn-danger pull-right" ng-click="$ctrl.settings.DefaultTeamID = null"
|
||||||
|
ng-disabled="!$ctrl.settings.DefaultTeamID">
|
||||||
|
<i class="fa fa-times" aria-hidden="true"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-9 col-lg-10">
|
||||||
|
<select class="form-control" ng-model="$ctrl.settings.DefaultTeamID" ng-options="team.Id as team.Name for team in $ctrl.teams">
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
angular.module('portainer.extensions.oauth').component('oauthSettings', {
|
angular.module('portainer.extensions.oauth').component('oauthSettings', {
|
||||||
templateUrl: 'app/extensions/oauth/components/oauth-settings/oauth-settings.html',
|
templateUrl: 'app/extensions/oauth/components/oauth-settings/oauth-settings.html',
|
||||||
bindings: {
|
bindings: {
|
||||||
settings: '<'
|
settings: '<',
|
||||||
|
teams: '<'
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -53,4 +53,5 @@ function OAuthSettingsViewModel(data) {
|
||||||
this.UserIdentifier = data.UserIdentifier;
|
this.UserIdentifier = data.UserIdentifier;
|
||||||
this.Scopes = data.Scopes;
|
this.Scopes = data.Scopes;
|
||||||
this.OAuthAutoCreateUsers = data.OAuthAutoCreateUsers;
|
this.OAuthAutoCreateUsers = data.OAuthAutoCreateUsers;
|
||||||
|
this.DefaultTeamID = data.DefaultTeamID;
|
||||||
}
|
}
|
|
@ -322,7 +322,7 @@
|
||||||
<!-- !group-search-settings -->
|
<!-- !group-search-settings -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<oauth-settings ng-if="isOauthEnabled()" settings="OAuthSettings"></oauth-settings>
|
<oauth-settings ng-if="isOauthEnabled()" settings="OAuthSettings" teams="teams"></oauth-settings>
|
||||||
|
|
||||||
<!-- actions -->
|
<!-- actions -->
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
angular.module('portainer.app')
|
angular.module('portainer.app')
|
||||||
.controller('SettingsAuthenticationController', ['$q', '$scope', 'Notifications', 'SettingsService', 'FileUploadService',
|
.controller('SettingsAuthenticationController', ['$q', '$scope', 'Notifications', 'SettingsService', 'FileUploadService', 'TeamService',
|
||||||
function ($q, $scope, Notifications, SettingsService, FileUploadService) {
|
function ($q, $scope, Notifications, SettingsService, FileUploadService, TeamService) {
|
||||||
|
|
||||||
$scope.state = {
|
$scope.state = {
|
||||||
successfulConnectivityCheck: false,
|
successfulConnectivityCheck: false,
|
||||||
|
@ -96,9 +96,12 @@ function ($q, $scope, Notifications, SettingsService, FileUploadService) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function initView() {
|
function initView() {
|
||||||
SettingsService.settings()
|
$q.all({
|
||||||
.then(function success(data) {
|
settings: SettingsService.settings(),
|
||||||
var settings = data;
|
teams: TeamService.teams()
|
||||||
|
}).then(function success(data) {
|
||||||
|
var settings = data.settings;
|
||||||
|
$scope.teams = data.teams;
|
||||||
$scope.settings = settings;
|
$scope.settings = settings;
|
||||||
$scope.LDAPSettings = settings.LDAPSettings;
|
$scope.LDAPSettings = settings.LDAPSettings;
|
||||||
$scope.OAuthSettings = settings.OAuthSettings;
|
$scope.OAuthSettings = settings.OAuthSettings;
|
||||||
|
|
Loading…
Reference in New Issue