authReducer.js 586 B

1234567891011121314151617181920212223242526272829
  1. import { jwtDecode } from '../utils';
  2. function authReducer (state, { type, token }) {
  3. if (!state) {
  4. if (localStorage.authToken) {
  5. state = {
  6. type: 'AUTH_LOGIN',
  7. token: localStorage.authToken
  8. };
  9. } return {};
  10. }
  11. if (type === 'AUTH_LOGIN') {
  12. const bigToken = jwtDecode(token);
  13. if (bigToken) {
  14. localStorage.setItem('authToken', token);
  15. return {
  16. token,
  17. payload: bigToken
  18. };
  19. }
  20. }
  21. if (type === 'AUTH_LOGOUT') {
  22. localStorage.clear();
  23. return {};
  24. }
  25. return state;
  26. }
  27. export default authReducer;