Skip to content

Commit 4dcf971

Browse files
committed
Merge pull request #178 from mrbatista/master
Clear user data on logout error Close #178
2 parents a0ec54a + 1b5eba8 commit 4dcf971

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

lib/services.template.ejs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,11 @@ if (typeof module !== 'undefined' && typeof exports !== 'undefined' &&
109109
LoopBackAuth.clearStorage();
110110
return response.resource;
111111
},
112+
responseError: function(responseError) {
113+
LoopBackAuth.clearUser();
114+
LoopBackAuth.clearStorage();
115+
return responseError.resource;
116+
},
112117
},
113118
<% } -%>
114119
<% if (action.hasResourceParams) { -%>

test.e2e/spec/services.spec.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -553,6 +553,27 @@ define(['angular', 'given', 'util'], function(angular, given, util) {
553553
.catch(util.throwHttpError);
554554
});
555555

556+
it('clears authentication data on logout error', function() {
557+
return givenLoggedInUser()
558+
.then(function() {
559+
var auth = $injector.get('LoopBackAuth');
560+
expect(auth.accessTokenId, 'accessTokenId').to.not.equal(null);
561+
auth.accessTokenId = 'fake_access_token';
562+
return Customer.logout().$promise;
563+
})
564+
.then(function() {
565+
var auth = $injector.get('LoopBackAuth');
566+
expect(auth.accessTokenId, 'accessTokenId').to.equal(null);
567+
expect(auth.currentUserId, 'currentUserId').to.equal(null);
568+
569+
// Check that localStorage was cleared too.
570+
auth = getNew('LoopBackAuth');
571+
expect(auth.accessTokenId, 'stored accessTokenId').to.equal(null);
572+
expect(auth.currentUserId, 'stored currentUserId').to.equal(null);
573+
})
574+
.catch(util.throwHttpError);
575+
});
576+
556577
it('clears authentication data in local and session storage ' +
557578
'on logout when rememberMe=true and page has been reloaded after login',
558579
function() {

0 commit comments

Comments
 (0)