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

move api services to background page. wire up log in and log out.

This commit is contained in:
Kyle Spearrin
2016-09-03 15:44:32 -04:00
parent c3053ea3a7
commit 79860da28c
11 changed files with 90 additions and 61 deletions

View File

@@ -1,26 +1,22 @@
angular
.module('bit.services')
.factory('loginService', function (cryptoService, apiService, userService, tokenService, $q) {
.factory('loginService', function (cryptoService, apiService, apiService, userService, tokenService, $q) {
var _service = {};
_service.logIn = function (email, masterPassword) {
var key = cryptoService.makeKey(masterPassword, email);
var request = {
email: email,
masterPasswordHash: cryptoService.hashPassword(masterPassword, key)
};
var request = new TokenRequest(email, cryptoService.hashPassword(masterPassword, key));
var deferred = $q.defer();
apiService.auth.token(request, function (response) {
if (!response || !response.Token) {
apiService.postToken(request, function (response) {
if (!response || !response.token) {
return;
}
tokenService.setToken(response.Token, function () {
tokenService.setToken(response.token, function () {
cryptoService.setKey(key, function () {
userService.setUserProfile(response.Profile, function () {
userService.setUserProfile(response.profile, function () {
deferred.resolve(response);
});
});
@@ -56,10 +52,11 @@
return deferred.promise;
};
_service.logOut = function () {
_service.logOut = function (callback) {
tokenService.clearToken(function () {
cryptoService.clearKey(function () {
userService.clearUserProfile();
callback();
});
});
};