mirror of
https://github.com/bitwarden/browser
synced 2025-12-23 19:53:43 +00:00
Few fixes to services and login
This commit is contained in:
@@ -1,15 +1,47 @@
|
||||
var g_authService = function () {
|
||||
var _service = {}, _userProfile = null;
|
||||
|
||||
_service.logIn = function (email, masterPassword) {
|
||||
return;
|
||||
_service.logIn = function (email, masterPassword, callback) {
|
||||
if (!callback || typeof callback !== 'function') {
|
||||
throw 'callback function required';
|
||||
}
|
||||
|
||||
var key = g_cryptoService.makeKey(masterPassword, email);
|
||||
|
||||
var request = {
|
||||
email: email,
|
||||
masterPasswordHash: g_cryptoService.hashPassword(masterPassword, key)
|
||||
};
|
||||
|
||||
var response = {
|
||||
Token: "",
|
||||
Profile: {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
g_tokenService.setToken(response.Token, function () {
|
||||
g_cryptoService.setKey(key, function () {
|
||||
_service.setUserProfile(response.Profile, function () {
|
||||
callback();
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
_service.logInTwoFactor = function (code, provider) {
|
||||
_service.logInTwoFactor = function (code, provider, callback) {
|
||||
if (!callback || typeof callback !== 'function') {
|
||||
throw 'callback function required';
|
||||
}
|
||||
|
||||
return;
|
||||
};
|
||||
|
||||
_service.logOut = function (callback) {
|
||||
if (!callback || typeof callback !== 'function') {
|
||||
throw 'callback function required';
|
||||
}
|
||||
|
||||
g_tokenService.clearToken(function () {
|
||||
g_cryptoService.clearKey(function () {
|
||||
_userProfile = null;
|
||||
@@ -19,6 +51,10 @@
|
||||
};
|
||||
|
||||
_service.getUserProfile = function (callback) {
|
||||
if (!callback || typeof callback !== 'function') {
|
||||
throw 'callback function required';
|
||||
}
|
||||
|
||||
if (!_userProfile) {
|
||||
_service.setUserProfile(null, function () {
|
||||
callback(_userProfile);
|
||||
@@ -29,6 +65,10 @@
|
||||
};
|
||||
|
||||
_service.setUserProfile = function (profile, callback) {
|
||||
if (!callback || typeof callback !== 'function') {
|
||||
throw 'callback function required';
|
||||
}
|
||||
|
||||
g_tokenService.getToken(function (token) {
|
||||
if (!token) {
|
||||
return;
|
||||
@@ -63,16 +103,24 @@
|
||||
}
|
||||
|
||||
_service.isAuthenticated = function (callback) {
|
||||
if (!callback || typeof callback !== 'function') {
|
||||
throw 'callback function required';
|
||||
}
|
||||
|
||||
callback(_service.getUserProfile(function (profile) {
|
||||
return profile !== null && !profile.twoFactor;
|
||||
}));
|
||||
};
|
||||
|
||||
_service.isTwoFactorAuthenticated = function (callback) {
|
||||
if (!callback || typeof callback !== 'function') {
|
||||
throw 'callback function required';
|
||||
}
|
||||
|
||||
callback(_service.getUserProfile(function (profile) {
|
||||
return profile !== null && profile.twoFactor;
|
||||
}));
|
||||
};
|
||||
|
||||
return _service;
|
||||
};
|
||||
}();
|
||||
|
||||
@@ -125,4 +125,4 @@
|
||||
};
|
||||
|
||||
return _service;
|
||||
};
|
||||
}();
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
var _service = {}, _token;
|
||||
|
||||
_service.setToken = function (token, callback) {
|
||||
if (!callback || typeof callback !== 'function') {
|
||||
throw 'callback function required';
|
||||
}
|
||||
|
||||
_token = token;
|
||||
chrome.storage.local.set({
|
||||
'authBearer': token
|
||||
@@ -11,6 +15,10 @@
|
||||
};
|
||||
|
||||
_service.getToken = function (callback) {
|
||||
if (!callback || typeof callback !== 'function') {
|
||||
throw 'callback function required';
|
||||
}
|
||||
|
||||
if (_token) {
|
||||
return callback(_token);
|
||||
}
|
||||
@@ -25,6 +33,10 @@
|
||||
};
|
||||
|
||||
_service.clearToken = function (callback) {
|
||||
if (!callback || typeof callback !== 'function') {
|
||||
throw 'callback function required';
|
||||
}
|
||||
|
||||
_token = null;
|
||||
chrome.storage.local.remove('authBearer', function () {
|
||||
callback();
|
||||
@@ -32,4 +44,4 @@
|
||||
};
|
||||
|
||||
return _service;
|
||||
};
|
||||
}();
|
||||
|
||||
Reference in New Issue
Block a user