diff --git a/webadmin/src/js/setup.js b/webadmin/src/js/setup.js index b7cf15f96..ee57bfd28 100644 --- a/webadmin/src/js/setup.js +++ b/webadmin/src/js/setup.js @@ -20,15 +20,20 @@ app.controller('SetupController', ['$scope', '$http', 'Client', function ($scope $scope.provider = ''; $scope.apiServerOrigin = ''; $scope.setupToken = ''; + $scope.instanceId = ''; $scope.activateCloudron = function () { $scope.busy = true; - Client.createAdmin($scope.account.username, $scope.account.password, $scope.account.email, $scope.account.displayName, $scope.setupToken, function (error) { - if (error) { + Client.createAdmin($scope.account.username, $scope.account.password, $scope.account.email, $scope.account.displayName, $scope.setupToken || $scope.instanceId, function (error) { + $scope.busy = false; + + if (error && error.statusCode === 403) { + $scope.error = $scope.provider === 'ami' ? 'Wrong instance id' : 'Wrong setup token'; + return; + } else if (error) { console.error('Internal error', error); $scope.error = error; - $scope.busy = false; return; } @@ -77,6 +82,7 @@ app.controller('SetupController', ['$scope', '$http', 'Client', function ($scope $scope.account.displayName = search.displayName || $scope.account.displayName; $scope.account.requireEmail = !search.email; $scope.provider = status.provider; + $scope.instanceId = search.instanceId; $scope.apiServerOrigin = status.apiServerOrigin; $scope.initialized = true; diff --git a/webadmin/src/setup.html b/webadmin/src/setup.html index 25862fed0..a7237b7cc 100644 --- a/webadmin/src/setup.html +++ b/webadmin/src/setup.html @@ -77,6 +77,11 @@ Password must be 8-30 character with at least one uppercase, one numeric and one special character +
+

Provide the EC2 instance id to proof you are the owner

+ +

{{ error }}

+