From 31d4173ef549d804de6573aac2ea73f9e9ba4990 Mon Sep 17 00:00:00 2001 From: Matthew Taylor Date: Wed, 13 Jan 2016 10:51:02 -0500 Subject: [PATCH 1/2] Change logout to do a POST request --- src/components/navigation/navigation.jsx | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/components/navigation/navigation.jsx b/src/components/navigation/navigation.jsx index 7286e6cbb..c27547840 100644 --- a/src/components/navigation/navigation.jsx +++ b/src/components/navigation/navigation.jsx @@ -4,7 +4,6 @@ var ReactIntl = require('react-intl'); var defineMessages = ReactIntl.defineMessages; var FormattedMessage = ReactIntl.FormattedMessage; var injectIntl = ReactIntl.injectIntl; -var xhr = require('xhr'); var Api = require('../../mixins/api.jsx'); var Avatar = require('../avatar/avatar.jsx'); @@ -151,16 +150,14 @@ var Navigation = React.createClass({ }, handleLogOut: function (e) { e.preventDefault(); - xhr({ + this.api({ host: '', - uri: '/accounts/logout/' - }, function (err) { - if (err) { - log.error(err); - } else { - this.closeLogin(); - window.refreshSession(); - } + method: 'post', + uri: '/accounts/logout/', + useCsrf: true + }, function (err, body) { + if (err) return; + if (body) log.warn('body found on logout'); // shouldn't happen }.bind(this)); }, handleAccountNavClick: function (e) { From a15842a5821b609eae3f6c5b88799c67f9bed9ab Mon Sep 17 00:00:00 2001 From: Matthew Taylor Date: Wed, 13 Jan 2016 13:36:36 -0500 Subject: [PATCH 2/2] Add back in the session refresh Thanks @thisandagain! --- src/components/navigation/navigation.jsx | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/navigation/navigation.jsx b/src/components/navigation/navigation.jsx index c27547840..fd5ea221d 100644 --- a/src/components/navigation/navigation.jsx +++ b/src/components/navigation/navigation.jsx @@ -155,9 +155,10 @@ var Navigation = React.createClass({ method: 'post', uri: '/accounts/logout/', useCsrf: true - }, function (err, body) { - if (err) return; - if (body) log.warn('body found on logout'); // shouldn't happen + }, function (err) { + if (err) log.error(err); + this.closeLogin(); + window.refreshSession(); }.bind(this)); }, handleAccountNavClick: function (e) {