auth.js 692 B

12345678910111213141516171819202122232425262728293031
  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;