auth.js 743 B

123456789101112131415161718192021222324252627282930313233
  1. import React from 'react';
  2. import { Navigate } from 'react-router-dom';
  3. import { history } from './history';
  4. export function authHeader() {
  5. // return authorization header with jwt token
  6. let user = JSON.parse(localStorage.getItem('user'));
  7. if (user && user.token) {
  8. return { Authorization: 'Bearer ' + user.token };
  9. } else {
  10. return {};
  11. }
  12. }
  13. export const AuthRedirect = ({ children }) => {
  14. const user = localStorage.getItem('user');
  15. if (user) {
  16. return <Navigate to="/console" replace />;
  17. }
  18. return children;
  19. };
  20. function PrivateRoute({ children }) {
  21. if (!localStorage.getItem('user')) {
  22. return <Navigate to='/login' state={{ from: history.location }} />;
  23. }
  24. return children;
  25. }
  26. export { PrivateRoute };