auth.js 600 B

123456789101112131415161718192021222324252627282930
  1. import { decode as atob } from "base-64";
  2. let signatureToken = token => JSON.parse(atob(token.split(".")[1]));
  3. function authReducer(state, { type, token }) {
  4. if (state === undefined) {
  5. if (localStorage.authToken) {
  6. type = "LOGIN";
  7. token = localStorage.authToken;
  8. } else {
  9. return {};
  10. }
  11. }
  12. if (type === "LOGIN") {
  13. console.log("LOGIN");
  14. localStorage.authToken = token;
  15. return { token, payload: signatureToken(token) };
  16. }
  17. if (type === "LOGOUT") {
  18. console.log("LOGOUT");
  19. localStorage.removeItem("authToken");
  20. return {};
  21. }
  22. return state;
  23. }
  24. export default authReducer;