1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-16 16:23:44 +00:00

u2f fixes. bg vars with prefix

This commit is contained in:
Kyle Spearrin
2017-06-26 23:55:51 -04:00
parent 61c44ea4d9
commit 4e270cc1cb
10 changed files with 166 additions and 141 deletions

View File

@@ -6,6 +6,19 @@
$scope.i18n = i18nService;
utilsService.initListSectionItemListeners($(document), angular);
var u2f = new U2f(function (data) {
$scope.login(data);
$scope.$apply();
}, function (error) {
toastr.error(error, i18nService.errorsOccurred);
$scope.$apply();
}, function (info) {
if (info === 'ready') {
$scope.u2fReady = true;
}
$scope.$apply();
});
var constants = constantsService;
var email = $stateParams.email;
var masterPassword = $stateParams.masterPassword;
@@ -31,7 +44,15 @@
return;
}
if ($scope.providerType === constants.twoFactorProvider.email ||
if ($scope.providerType === constants.twoFactorProvider.u2f) {
if (u2f) {
u2f.stop();
}
else {
return;
}
}
else if ($scope.providerType === constants.twoFactorProvider.email ||
$scope.providerType === constants.twoFactorProvider.authenticator) {
token = token.replace(' ', '')
}
@@ -40,6 +61,9 @@
$scope.loginPromise.then(function () {
$analytics.eventTrack('Logged In From Two-step');
$state.go('tabs.vault', { animation: 'in-slide-left', syncOnLoad: true });
u2f = null;
}, function () {
u2f.start();
});
};
@@ -67,7 +91,8 @@
};
$scope.anotherMethod = function () {
$analytics.eventTrack('Selected Another Two Factor Method');
u2f.stop();
u2f = null;
$state.go('twoFactorMethods', {
animation: 'in-slide-up',
email: email,
@@ -77,6 +102,14 @@
});
};
$scope.back = function () {
u2f.stop();
u2f = null;
$state.go('login', {
animation: 'out-slide-right'
});
};
function getDefaultProvider(twoFactorProviders) {
var keys = Object.keys(twoFactorProviders);
var providerType = null;
@@ -97,6 +130,8 @@
}
function init() {
u2f.stop();
$timeout(function () {
$('#code').focus();
@@ -116,19 +151,6 @@
var params = providers[constants.twoFactorProvider.u2f];
var challenges = JSON.parse(params.Challenges);
var u2f = new U2f(function (data) {
$scope.login(data);
$scope.$apply();
}, function (error) {
toastr.error(error, i18nService.errorsOccurred);
$scope.$apply();
}, function (info) {
if (info === 'ready') {
$scope.u2fReady = true;
}
$scope.$apply();
});
u2f.init({
appId: challenges[0].appId,
challenge: challenges[0].challenge,

View File

@@ -25,7 +25,7 @@
if (providers.hasOwnProperty(constants.twoFactorProvider.duo)) {
add(constants.twoFactorProvider.duo);
}
if (providers.hasOwnProperty(constants.twoFactorProvider.u2f) && (utilsService.isChrome() || !utilsService.isOpera())) {
if (providers.hasOwnProperty(constants.twoFactorProvider.u2f) && (utilsService.isChrome() || utilsService.isOpera())) {
add(constants.twoFactorProvider.u2f);
}

View File

@@ -2,7 +2,7 @@
ng-if="providerType === constantsProvider.authenticator || providerType === constantsProvider.email">
<div class="header">
<div class="left">
<a ui-sref="login({animation: 'out-slide-right'})"><i class="fa fa-chevron-left"></i> {{i18n.login}}</a>
<a href="#" ng-click="back()"><i class="fa fa-chevron-left"></i> {{i18n.login}}</a>
</div>
<div class="right">
<button type="submit" class="btn btn-link" ng-show="!theForm.$loading">{{i18n.continue}}</button>
@@ -106,7 +106,7 @@
</div>
<div class="content">
<div class="two-factor-key-page">
<iframe id="u2f_iframe" class="hide"></iframe>
<iframe id="u2f_iframe"></iframe>
<p ng-if="!u2fReady">Loading...</p>
<div ng-if="u2fReady">
<p>

View File

@@ -2,47 +2,47 @@
.module('bit.services')
.factory('tokenService', function () {
return chrome.extension.getBackgroundPage().tokenService;
return chrome.extension.getBackgroundPage().bg_tokenService;
})
.factory('cryptoService', function () {
return chrome.extension.getBackgroundPage().cryptoService;
return chrome.extension.getBackgroundPage().bg_cryptoService;
})
.factory('userService', function () {
return chrome.extension.getBackgroundPage().userService;
return chrome.extension.getBackgroundPage().bg_userService;
})
.factory('apiService', function () {
return chrome.extension.getBackgroundPage().apiService;
return chrome.extension.getBackgroundPage().bg_apiService;
})
.factory('folderService', function () {
return chrome.extension.getBackgroundPage().folderService;
return chrome.extension.getBackgroundPage().bg_folderService;
})
.factory('loginService', function () {
return chrome.extension.getBackgroundPage().loginService;
return chrome.extension.getBackgroundPage().bg_loginService;
})
.factory('syncService', function () {
return chrome.extension.getBackgroundPage().syncService;
return chrome.extension.getBackgroundPage().bg_syncService;
})
.factory('autofillService', function () {
return chrome.extension.getBackgroundPage().autofillService;
return chrome.extension.getBackgroundPage().bg_autofillService;
})
.factory('passwordGenerationService', function () {
return chrome.extension.getBackgroundPage().passwordGenerationService;
return chrome.extension.getBackgroundPage().bg_passwordGenerationService;
})
.factory('utilsService', function () {
return chrome.extension.getBackgroundPage().utilsService;
return chrome.extension.getBackgroundPage().bg_utilsService;
})
.factory('appIdService', function () {
return chrome.extension.getBackgroundPage().appIdService;
return chrome.extension.getBackgroundPage().bg_appIdService;
})
.factory('i18nService', function () {
return chrome.extension.getBackgroundPage().i18nService;
return chrome.extension.getBackgroundPage().bg_i18nService;
})
.factory('constantsService', function () {
return chrome.extension.getBackgroundPage().constantsService;
return chrome.extension.getBackgroundPage().bg_constantsService;
})
.factory('settingsService', function () {
return chrome.extension.getBackgroundPage().settingsService;
return chrome.extension.getBackgroundPage().bg_settingsService;
})
.factory('lockService', function () {
return chrome.extension.getBackgroundPage().lockService;
return chrome.extension.getBackgroundPage().bg_lockService;
});