fleet/frontend/redux/middlewares/auth.js
Mike Stone ee3d96eb53 Update eslint (#337)
* Updates eslint packages

* Expected parentheses around arrow function argument having a body with curly braces

* Prop type `object` is forbidden

* Visible, non-interactive elements should not have mouse or keyboard event listeners

* Prop type is defined but not used

* Unexpected use of file extension "jsx"

* Expected 'this' to be used by class method

* HTML entities must be escaped

* Prevent default behavior on more options button click
2016-10-21 19:13:41 -04:00

33 lines
783 B
JavaScript

/* eslint-disable no-unused-vars */
import { push } from 'react-router-redux';
import kolide from '../../kolide';
import { LOGIN_FAILURE, LOGIN_SUCCESS, LOGOUT_SUCCESS } from '../nodes/auth/actions';
import local from '../../utilities/local';
import paths from '../../router/paths';
const authMiddleware = store => next => (action) => {
const { type, payload } = action;
if (type === LOGIN_SUCCESS) {
const { token } = payload;
if (token) {
local.setItem('auth_token', token);
kolide.setBearerToken(token);
}
}
if (type === LOGOUT_SUCCESS || type === LOGIN_FAILURE) {
const { LOGIN } = paths;
local.clear();
kolide.setBearerToken(null);
store.dispatch(push(LOGIN));
}
return next(action);
};
export default authMiddleware;