diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index a5994a031aa..08acd5598a6 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -724,6 +724,9 @@ "apiUrl": { "message": "API Server URL" }, + "webVaultUrl": { + "message": "Web Vault Server URL" + }, "identityUrl": { "message": "Identity Server URL" }, diff --git a/src/popup/app/accounts/accountsLoginTwoFactorController.js b/src/popup/app/accounts/accountsLoginTwoFactorController.js index e0b6d5cb822..ef16afef86e 100644 --- a/src/popup/app/accounts/accountsLoginTwoFactorController.js +++ b/src/popup/app/accounts/accountsLoginTwoFactorController.js @@ -2,11 +2,24 @@ .module('bit.accounts') .controller('accountsLoginTwoFactorController', function ($scope, $state, authService, toastr, utilsService, SweetAlert, - $analytics, i18nService, $stateParams, $filter, constantsService, $timeout, $window, cryptoService, apiService) { + $analytics, i18nService, $stateParams, $filter, constantsService, $timeout, $window, cryptoService, apiService, + $window) { $scope.i18n = i18nService; utilsService.initListSectionItemListeners($(document), angular); - var u2f = new U2f(function (data) { + var customWebVaultUrl = null; + var storedBaseUrl = $window.localStorage.getItem(constantsService.baseUrlKey); + if (storedBaseUrl) { + customWebVaultUrl = storedBaseUrl; + } + else { + var storedWebVaultUrl = $window.localStorage.getItem(constantsService.webVaultUrlKey); + if (storedWebVaultUrl) { + customWebVaultUrl = storedWebVaultUrl; + } + } + + var u2f = new U2f(customWebVaultUrl, function (data) { $timeout(function () { $scope.login(data); }); diff --git a/src/popup/app/settings/settingsEnvironmentController.js b/src/popup/app/settings/settingsEnvironmentController.js index ac9c2f6aed9..1fc6462df1e 100644 --- a/src/popup/app/settings/settingsEnvironmentController.js +++ b/src/popup/app/settings/settingsEnvironmentController.js @@ -8,6 +8,7 @@ utilsService.initListSectionItemListeners($(document), angular); $scope.baseUrl = $window.localStorage.getItem(constantsService.baseUrlKey) || ''; + $scope.webVaultUrl = $window.localStorage.getItem(constantsService.webVaultUrlKey) || ''; $scope.apiUrl = $window.localStorage.getItem(constantsService.apiUrlKey) || ''; $scope.identityUrl = $window.localStorage.getItem(constantsService.identityUrlKey) || ''; @@ -20,6 +21,14 @@ $window.localStorage.removeItem(constantsService.baseUrlKey); } + if ($scope.webVaultUrl && $scope.webVaultUrl !== '') { + $scope.webVaultUrl = formatUrl($scope.webVaultUrl); + $window.localStorage.setItem(constantsService.webVaultUrlKey, $scope.webVaultUrl); + } + else { + $window.localStorage.removeItem(constantsService.webVaultUrlKey); + } + if ($scope.apiUrl && $scope.apiUrl !== '') { $scope.apiUrl = formatUrl($scope.apiUrl); $window.localStorage.setItem(constantsService.apiUrlKey, $scope.apiUrl); diff --git a/src/popup/app/settings/views/settingsEnvironment.html b/src/popup/app/settings/views/settingsEnvironment.html index 7af6f5c71a6..b02bc5aa3a0 100644 --- a/src/popup/app/settings/views/settingsEnvironment.html +++ b/src/popup/app/settings/views/settingsEnvironment.html @@ -30,6 +30,10 @@ {{i18n.customEnvironment}}