1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-09-19 02:51:14 +02:00

doRefreshToken to its own function

This commit is contained in:
Kyle Spearrin 2017-09-07 23:56:05 -04:00
parent 219a434594
commit f36c046a36

View File

@ -83,7 +83,7 @@ function initApiService() {
}; };
ApiService.prototype.refreshIdentityToken = function (success, error) { ApiService.prototype.refreshIdentityToken = function (success, error) {
refreshToken(this, function () { doRefreshToken(this, function () {
success(); success();
}, function (jqXHR) { }, function (jqXHR) {
if (jqXHR) { if (jqXHR) {
@ -530,12 +530,27 @@ function initApiService() {
if (!self.tokenService.tokenNeedsRefresh()) { if (!self.tokenService.tokenNeedsRefresh()) {
log('Token doesn\'t need refreshing'); log('Token doesn\'t need refreshing');
resolveTokenQs(accessToken, self, deferred); resolveTokenQs(accessToken, deferred);
return; return;
} }
log('Token needs refresh'); log('Token needs refresh');
doRefreshToken(self, function (response) {
var tokenResponse = new IdentityTokenResponse(response);
self.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken, function () {
log('New token set.');
resolveTokenQs(tokenResponse.accessToken, deferred);
});
}, function (jqXHR) {
deferred.reject(jqXHR);
});
});
return deferred.promise;
}
function doRefreshToken(self, success, error) {
self.tokenService.getRefreshToken(function (refreshToken) { self.tokenService.getRefreshToken(function (refreshToken) {
if (!refreshToken || refreshToken === '') { if (!refreshToken || refreshToken === '') {
log('No existing refresh token.'); log('No existing refresh token.');
@ -557,25 +572,17 @@ function initApiService() {
dataType: 'json', dataType: 'json',
success: function (response) { success: function (response) {
log('Successfully refreshed.'); log('Successfully refreshed.');
success(response);
var tokenResponse = new IdentityTokenResponse(response);
self.tokenService.setTokens(tokenResponse.accessToken, tokenResponse.refreshToken, function () {
log('New token set.');
resolveTokenQs(tokenResponse.accessToken, self, deferred);
});
}, },
error: function (jqXHR, textStatus, errorThrown) { error: function (jqXHR, textStatus, errorThrown) {
log('Error refreshing.'); log('Error refreshing.');
deferred.reject(jqXHR); error(jqXHR);
} }
}); });
}); });
});
return deferred.promise;
} }
function resolveTokenQs(token, self, deferred) { function resolveTokenQs(token, deferred) {
log('Resolving token.'); log('Resolving token.');
deferred.resolve('access_token3=' + token); deferred.resolve('access_token3=' + token);
} }