GUACAMOLE-770: Add ability to clear out TOTP data.

This commit is contained in:
Virtually Nick
2019-12-26 18:05:59 -05:00
parent 1ede1263d1
commit fae22a3f80
5 changed files with 89 additions and 13 deletions

View File

@@ -29,5 +29,12 @@ angular.module('guacTOTP').config(['formServiceProvider',
controller : 'authenticationCodeFieldController',
templateUrl : 'app/ext/totp/templates/authenticationCodeField.html'
});
// Add field type for resetting TOTP data
formServiceProvider.registerFieldType('GUAC_TOTP_RESET', {
module : 'guacTOTP',
controller : 'totpResetFieldController',
templateUrl : 'app/form/templates/checkboxField.html'
});
}]);

View File

@@ -0,0 +1,46 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
/**
* Controller for the "GUAC_TOTP_CODE" field which prompts the user to enter
* the code generated by their authentication device.
*/
angular.module('guacTOTP').controller('totpResetFieldController', ['$scope', '$window',
function totpResetFieldController($scope, $window) {
var origValue = $scope.model;
// Update typed value when model is changed
$scope.$watch('model', function modelChanged(model) {
if (!model || model === '')
$scope.typedValue = true;
else
$scope.typedValue = false;
});
// Update string value in model when typed value is changed
$scope.$watch('typedValue', function typedValueChanged(typedValue) {
if (typedValue && typedValue !== '')
$scope.model = '';
else
$scope.model = origValue;
});
}]);

View File

@@ -29,6 +29,15 @@
"SECTION_HEADER_DETAILS" : "Details:"
},
"USER_ATTRIBUTES" : {
"FIELD_HEADER_GUAC_TOTP_KEY_SECRET" : "Clear TOTP key:",
"FIELD_HEADER_GUAC_TOTP_KEY_CONFIRMED" : "TOTP key confirmed:",
"SECTION_HEADER_TOTP_CONFIG_FORM" : "Configure TOTP"
}
}