GUACAMOLE-197: Handle extra login fields when dealing with failed authentication.

This commit is contained in:
Nick Couchman
2018-01-16 14:22:52 -05:00
parent b0284ec710
commit b7db93c729

View File

@@ -66,6 +66,7 @@ angular.module('login').directive('guacLogin', [function guacLogin() {
var Field = $injector.get('Field');
// Required services
var $log = $injector.get('$log');
var $route = $injector.get('$route');
var authenticationService = $injector.get('authenticationService');
@@ -168,13 +169,17 @@ angular.module('login').directive('guacLogin', [function guacLogin() {
else
$scope.loginError = error.translatableMessage;
// Clear all visible password fields
// Clear all remaining fields that are not username fields
angular.forEach($scope.remainingFields, function clearEnteredValueIfPassword(field) {
// Remove entered value only if field is a password field
if (field.type === Field.Type.PASSWORD && field.name in $scope.enteredValues)
if (field.type === Field.Type.PASSWORD)
$scope.enteredValues[field.name] = '';
// If field is not username field and not password field, delete it.
else if (field.type !== Field.Type.USERNAME)
delete $scope.enteredValues[field.name];
});
}