mirror of
https://github.com/bitwarden/browser
synced 2025-12-17 08:43:33 +00:00
recovery code
This commit is contained in:
44
src/app/settings/settingsTwoStepRecoverController.js
Normal file
44
src/app/settings/settingsTwoStepRecoverController.js
Normal file
@@ -0,0 +1,44 @@
|
||||
angular
|
||||
.module('bit.settings')
|
||||
|
||||
.controller('settingsTwoStepRecoverController', function ($scope, apiService, $uibModalInstance, cryptoService,
|
||||
$analytics) {
|
||||
$analytics.eventTrack('settingsTwoStepRecoverController', { category: 'Modal' });
|
||||
$scope.code = null;
|
||||
|
||||
$scope.auth = function (model) {
|
||||
var masterPasswordHash = cryptoService.hashPassword(model.masterPassword);
|
||||
|
||||
$scope.authPromise = apiService.twoFactor.getRecover({}, {
|
||||
masterPasswordHash: masterPasswordHash
|
||||
}).$promise.then(function (apiResponse) {
|
||||
$scope.code = formatString(apiResponse.Code);
|
||||
$scope.authed = true;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.print = function () {
|
||||
if (!$scope.code) {
|
||||
return;
|
||||
}
|
||||
|
||||
$analytics.eventTrack('Print Recovery Code');
|
||||
var w = window.open();
|
||||
w.document.write('<div style="font-size: 18px; text-align: center;"><p>bitwarden two-step login recovery code:</p>' +
|
||||
'<pre>' + $scope.code + '</pre></div><p style="text-align: center;">' + new Date() + '</p>');
|
||||
w.print();
|
||||
w.close();
|
||||
};
|
||||
|
||||
function formatString(s) {
|
||||
if (!s) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return s.replace(/(.{4})/g, '$1 ').trim().toUpperCase();
|
||||
}
|
||||
|
||||
$scope.close = function () {
|
||||
$uibModalInstance.close();
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user