diff --git a/src/Vault/wwwroot/_references.js b/src/Vault/wwwroot/_references.js index f7994001..7a03e08e 100644 --- a/src/Vault/wwwroot/_references.js +++ b/src/Vault/wwwroot/_references.js @@ -5,7 +5,6 @@ /// /// /// -/// /// /// /// diff --git a/src/Vault/wwwroot/app/accounts/accountsRegisterController.js b/src/Vault/wwwroot/app/accounts/accountsRegisterController.js index 14563434..3dd71776 100644 --- a/src/Vault/wwwroot/app/accounts/accountsRegisterController.js +++ b/src/Vault/wwwroot/app/accounts/accountsRegisterController.js @@ -1,12 +1,30 @@ angular .module('bit.accounts') - .controller('accountsRegisterController', function ($scope, $rootScope, apiService) { + .controller('accountsRegisterController', function ($scope, $location, apiService, cryptoService, validationService) { + var params = $location.search(); + $scope.success = false; + $scope.model = { + email: params.email + }; $scope.registerPromise = null; - $scope.register = function (model) { - $scope.registerPromise = apiService.accounts.registerToken({ email: model.email }, function () { + $scope.register = function (form) { + if ($scope.model.masterPassword != $scope.model.confirmMasterPassword) { + validationService.addError(form, 'ConfirmMasterPassword', 'Master password confirmation does not match.', true); + return; + } + + var key = cryptoService.makeKey($scope.model.masterPassword, $scope.model.email); + var request = { + name: $scope.model.name, + email: $scope.model.email, + masterPasswordHash: cryptoService.hashPassword($scope.model.masterPassword, key), + masterPasswordHint: $scope.model.masterPasswordHint + }; + + $scope.registerPromise = apiService.accounts.register(request, function () { $scope.success = true; }).$promise; }; diff --git a/src/Vault/wwwroot/app/accounts/accountsRegisterFinalizeController.js b/src/Vault/wwwroot/app/accounts/accountsRegisterFinalizeController.js deleted file mode 100644 index d0484d74..00000000 --- a/src/Vault/wwwroot/app/accounts/accountsRegisterFinalizeController.js +++ /dev/null @@ -1,48 +0,0 @@ -angular - .module('bit.accounts') - - .controller('accountsRegisterFinalizeController', function ($scope, $rootScope, $location, $state, apiService, cryptoService, validationService) { - var params = $location.search(); - - if (!params.token || !params.email) { - $state.go('frontend.login.info'); - return; - } - - $scope.success = false; - $scope.model = { - email: params.email, - token: params.token - }; - - $scope.info = function () { - $scope.model.confirmMasterPassword = null; - $state.go('frontend.registerFinalize.confirm'); - }; - - $scope.confirmPromise = null; - $scope.confirm = function (form) { - if ($scope.model.masterPassword != $scope.model.confirmMasterPassword) { - validationService.addError(form, 'ConfirmMasterPassword', 'Master password confirmation does not match.', true); - return; - } - - var key = cryptoService.makeKey($scope.model.masterPassword, $scope.model.email); - var request = { - token: $scope.model.token, - name: $scope.model.name, - email: $scope.model.email, - masterPasswordHash: cryptoService.hashPassword($scope.model.masterPassword, key), - masterPasswordHint: $scope.model.masterPasswordHint - }; - - $scope.confirmPromise = apiService.accounts.register(request, function () { - $scope.success = true; - }).$promise; - }; - - $scope.loadInfo = function () { - $scope.model.masterPassword = null; - window.history.back(); - }; - }); diff --git a/src/Vault/wwwroot/app/accounts/views/accountsRegister.html b/src/Vault/wwwroot/app/accounts/views/accountsRegister.html index f4091e3a..0c704a0f 100644 --- a/src/Vault/wwwroot/app/accounts/views/accountsRegister.html +++ b/src/Vault/wwwroot/app/accounts/views/accountsRegister.html @@ -6,11 +6,12 @@
-

Almost done!

Check your email ({{model.email}}) to complete your registration. +

You're Registered!

+

You may now log in to your new account.

Ready to log in?
-
+

Errors have occured

    @@ -21,6 +22,32 @@ +

    You'll use your email address to log in.

    +
+
+ + + +

What should we call you?

+
+
+ + + +

The master password is the password you use to access your vault.

+
+
+ + + +

It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it.

+
+
+ + + +

A master password hint can help you remember your password if you forget it.

diff --git a/src/Vault/wwwroot/app/accounts/views/accountsRegisterFinalize.html b/src/Vault/wwwroot/app/accounts/views/accountsRegisterFinalize.html deleted file mode 100644 index dd5b4156..00000000 --- a/src/Vault/wwwroot/app/accounts/views/accountsRegisterFinalize.html +++ /dev/null @@ -1,7 +0,0 @@ -
- -
-
-
\ No newline at end of file diff --git a/src/Vault/wwwroot/app/accounts/views/accountsRegisterFinalizeConfirm.html b/src/Vault/wwwroot/app/accounts/views/accountsRegisterFinalizeConfirm.html deleted file mode 100644 index b7bbffca..00000000 --- a/src/Vault/wwwroot/app/accounts/views/accountsRegisterFinalizeConfirm.html +++ /dev/null @@ -1,35 +0,0 @@ - -
-
-

You're Registered!

-

You may now log in to your new account.

-
- Ready to log in? -
- -
-

Errors have occured

-
    -
  • {{e}}
  • -
-
-
- - - -

It is very important that you do not forget your master password. There is no way to recover the password in the event that you forget it.

-
-
-
- -
- -
-
- \ No newline at end of file diff --git a/src/Vault/wwwroot/app/accounts/views/accountsRegisterFinalizeInfo.html b/src/Vault/wwwroot/app/accounts/views/accountsRegisterFinalizeInfo.html deleted file mode 100644 index abe8cbd7..00000000 --- a/src/Vault/wwwroot/app/accounts/views/accountsRegisterFinalizeInfo.html +++ /dev/null @@ -1,35 +0,0 @@ - -
-
- - - -
-
- - - -

What should we call you?

-
-
- - - -

The master password is the password you use to access your vault.

-
-
- - - -

A master password hint can help you remember your password if you forget it.

-
-
-
- -
- -
-
-
diff --git a/src/Vault/wwwroot/app/config.js b/src/Vault/wwwroot/app/config.js index acedfd38..43abaa0a 100644 --- a/src/Vault/wwwroot/app/config.js +++ b/src/Vault/wwwroot/app/config.js @@ -114,27 +114,6 @@ angular pageTitle: 'Register', bodyClass: 'register-page' } - }) - .state('frontend.registerFinalize', { - controller: 'accountsRegisterFinalizeController', - templateUrl: 'app/accounts/views/accountsRegisterFinalize.html', - data: { - bodyClass: 'register-page' - } - }) - .state('frontend.registerFinalize.info', { - url: '^/register/finalize', - templateUrl: 'app/accounts/views/accountsRegisterFinalizeInfo.html', - data: { - pageTitle: 'Finalize Registration' - } - }) - .state('frontend.registerFinalize.confirm', { - url: '^/register/finalize/confirm', - templateUrl: 'app/accounts/views/accountsRegisterFinalizeConfirm.html', - data: { - pageTitle: 'Finalize Registration (Confirm)' - } }); }) .run(function ($rootScope, authService, jwtHelper, tokenService, $state) { diff --git a/src/Vault/wwwroot/app/services/apiService.js b/src/Vault/wwwroot/app/services/apiService.js index a0719f4c..b01a06e5 100644 --- a/src/Vault/wwwroot/app/services/apiService.js +++ b/src/Vault/wwwroot/app/services/apiService.js @@ -22,7 +22,6 @@ }); _service.accounts = $resource(_apiUri + '/accounts', {}, { - registerToken: { url: _apiUri + '/accounts/register-token', method: 'POST', params: {} }, register: { url: _apiUri + '/accounts/register', method: 'POST', params: {} }, emailToken: { url: _apiUri + '/accounts/email-token', method: 'POST', params: {} }, email: { url: _apiUri + '/accounts/email', method: 'PUT', params: {} },