1
0
mirror of https://github.com/bitwarden/browser synced 2025-12-15 07:43:35 +00:00

added ability to pass and parse twofactor provider

This commit is contained in:
Kyle Spearrin
2017-06-26 09:55:07 -04:00
parent f6fc8a4a0f
commit 981fd22ce5
4 changed files with 18 additions and 16 deletions

View File

@@ -5,14 +5,14 @@
folderService, settingsService, syncService, appIdService, utilsService) {
var _service = {};
_service.logIn = function (email, masterPassword, twoFactorToken) {
_service.logIn = function (email, masterPassword, twoFactorProvider, twoFactorToken) {
email = email.toLowerCase();
var key = cryptoService.makeKey(masterPassword, email);
var deferred = $q.defer();
cryptoService.hashPassword(masterPassword, key, function (hashedPassword) {
appIdService.getAppId(function (appId) {
var deviceRequest = new DeviceRequest(appId, utilsService);
var request = new TokenRequest(email, hashedPassword, twoFactorToken, deviceRequest);
var request = new TokenRequest(email, hashedPassword, twoFactorProvider, twoFactorToken, deviceRequest);
apiService.postIdentityToken(request, function (response) {
// success
@@ -27,15 +27,22 @@
cryptoService.setEncKey(response.key).then(function () {
return cryptoService.setEncPrivateKey(response.privateKey);
}).then(function () {
loggedIn(deferred);
chrome.runtime.sendMessage({ command: 'loggedIn' });
deferred.resolve({
twoFactor: false,
twoFactorProviders: null
});
});
});
});
});
});
}, function () {
}, function (providers) {
// two factor required
deferred.resolve(true);
deferred.resolve({
twoFactor: true,
twoFactorProviders: providers
});
}, function (error) {
// error
deferred.reject(error);
@@ -51,10 +58,5 @@
callback();
};
function loggedIn(deferred) {
chrome.runtime.sendMessage({ command: 'loggedIn' });
deferred.resolve(false);
}
return _service;
});