Skip to content
Snippets Groups Projects
AuthUser.tsx 1.19 KiB
Newer Older
import React, { FC, useEffect } from 'react';
import axios from 'axios';
import Container from '@material-ui/core/Container';
import { Route, useRouteMatch } from 'react-router-dom';
import { NonAuthRoutes } from 'components/api/routes';
import { SignInForm } from 'components/AuthUser/SignInForm/SignInForm';
import { SignUpForm } from 'components/AuthUser/SignUpForm/SignUpForm';
const configDjangoCookieName = (): void => {
  axios.defaults.xsrfHeaderName = 'X-CSRFTOKEN';
  axios.defaults.xsrfCookieName = 'csrftoken';
  axios.defaults.withCredentials = true;
};

export const AuthUser: FC = () => {
  const { path } = useRouteMatch();
  configDjangoCookieName();
  useEffect(() => {
    axios
      .get('api/web/csrf')
Defendi Alberto's avatar
Defendi Alberto committed
      .then((response) => {
        axios.defaults.headers.common['X-CSRFTOKEN'] = response.data.token;
        sessionStorage.setItem('X-CSRFTOKEN', response.data.token);
        sessionStorage.setItem('ROLE', 'admin');
Defendi Alberto's avatar
Defendi Alberto committed
      })
      .catch((error) => error);
  }, []);
  return (
    <Container maxWidth="sm">
      <Route path={`${path}${NonAuthRoutes.signIn}`} component={SignInForm} />
      <Route path={`${path}${NonAuthRoutes.signUp}`} component={SignUpForm} />
    </Container>
  );
};