add validate session action

This commit is contained in:
Cassie Tarakajian 2017-01-17 15:34:32 -05:00
parent 1a22998ff8
commit c42de5b2ae

View file

@ -1,6 +1,7 @@
import * as ActionTypes from '../../constants'; import * as ActionTypes from '../../constants';
import { browserHistory } from 'react-router'; import { browserHistory } from 'react-router';
import axios from 'axios'; import axios from 'axios';
import { showAuthenticationError } from '../IDE/actions/ide';
const ROOT_URL = location.href.indexOf('localhost') > 0 ? 'http://localhost:8000/api' : '/api'; const ROOT_URL = location.href.indexOf('localhost') > 0 ? 'http://localhost:8000/api' : '/api';
@ -82,6 +83,23 @@ export function getUser() {
}; };
} }
export function validateSession() {
return (dispatch, getState) => {
axios.get(`${ROOT_URL}/session`, { withCredentials: true })
.then(response => {
const state = getState();
if (state.user.username !== response.data.username) {
dispatch(showAuthenticationError());
}
})
.catch(response => {
if (response.status === 404) {
dispatch(showAuthenticationError());
}
});
}
}
export function logoutUser() { export function logoutUser() {
return (dispatch) => { return (dispatch) => {
axios.get(`${ROOT_URL}/logout`, { withCredentials: true }) axios.get(`${ROOT_URL}/logout`, { withCredentials: true })