Skip to content
This repository was archived by the owner on Mar 15, 2018. It is now read-only.

Commit 595f922

Browse files
author
Allen Short
committed
Merge pull request #679 from washort/1073182
Clear session when FxA calls logout callback (bug 1073182)
2 parents 8815fb7 + ec65cca commit 595f922

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

src/media/js/commonplace/login.js

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,21 @@ define('login',
2424
notification.notification({message: gettext('You have been signed in')});
2525
}
2626

27+
function logOut() {
28+
cache.flush_signed();
29+
user.clear_token();
30+
31+
z.body.removeClass('logged-in');
32+
z.page.trigger('reload_chrome').trigger('before_logout');
33+
if (!z.context.dont_reload_on_login) {
34+
z.page.trigger('logged_out');
35+
signOutNotification();
36+
require('views').reload();
37+
} else {
38+
console.log('Reload on logout aborted by current view');
39+
}
40+
}
41+
2742
z.body.on('click', '.persona', function(e) {
2843
e.preventDefault();
2944

@@ -36,25 +51,14 @@ define('login',
3651
}).on('click', '.logout', utils._pd(function(e) {
3752
requests.del(urls.api.url('logout'));
3853

39-
cache.flush_signed();
40-
user.clear_token();
41-
4254
if (capabilities.persona()) {
4355
console.log('Triggering Persona logout');
4456
navigator.id.logout();
4557
}
46-
47-
z.body.removeClass('logged-in');
48-
z.page.trigger('reload_chrome').trigger('before_logout');
49-
// Moved here from the onlogout callback for now until
50-
// https://github.com/mozilla/browserid/issues/3229
51-
// gets fixed.
52-
if (!z.context.dont_reload_on_login) {
53-
z.page.trigger('logged_out');
54-
signOutNotification();
55-
require('views').reload();
56-
} else {
57-
console.log('Reload on logout aborted by current view');
58+
if ('email' in settings) {
59+
// navigator.id callback didn't log us out, let's do it now.
60+
// see https://github.com/mozilla/browserid/issues/3229
61+
logOut();
5862
}
5963
}));
6064

@@ -265,10 +269,7 @@ define('login',
265269
loggedInUser: email,
266270
onready: function() {},
267271
onlogin: gotVerifiedEmail,
268-
onlogout: function() {
269-
z.body.removeClass('logged-in');
270-
z.page.trigger('reload_chrome').trigger('logout');
271-
}
272+
onlogout: logOut
272273
};
273274
if (capabilities.nativeFxA()) {
274275
opts.wantIssuer = 'firefox-accounts';

0 commit comments

Comments
 (0)