From f4f2cbb1b6707dd0f664d292033a13ea8b93dcc3 Mon Sep 17 00:00:00 2001
From: Alberto Defendi <1369-ahl-berto@users.noreply.gitlab.inf.unibz.it>
Date: Wed, 7 Apr 2021 10:15:00 +0200
Subject: [PATCH] Set csrf name for django

---
 src/components/AuthUser/AuthUser.tsx          |  8 ++++++-
 .../AuthUser/SignInForm/SignInForm.tsx        | 22 ++++++++++---------
 2 files changed, 19 insertions(+), 11 deletions(-)

diff --git a/src/components/AuthUser/AuthUser.tsx b/src/components/AuthUser/AuthUser.tsx
index 5162104..144b546 100644
--- a/src/components/AuthUser/AuthUser.tsx
+++ b/src/components/AuthUser/AuthUser.tsx
@@ -3,12 +3,18 @@ import axios from 'axios';
 import Container from '@material-ui/core/Container';
 import { SignInForm } from './SignInForm/SignInForm';
 
+const configDjangoCookieName = (): void => {
+  axios.defaults.xsrfHeaderName = 'X-CSRFTOKEN';
+  axios.defaults.xsrfCookieName = 'csrftoken';
+  axios.defaults.withCredentials = true;
+};
+
 export const AuthUser: FC = () => {
+  configDjangoCookieName();
   useEffect(() => {
     axios
       .get('api/web/csrf')
       .then((response) => {
-        // Check this https://stackoverflow.com/questions/39254562/csrf-with-django-reactredux-using-axios
         axios.defaults.headers.common['X-CSRFTOKEN'] = response.data.token;
       })
       .catch((error) => error);
diff --git a/src/components/AuthUser/SignInForm/SignInForm.tsx b/src/components/AuthUser/SignInForm/SignInForm.tsx
index bdb8ad4..1de3d63 100644
--- a/src/components/AuthUser/SignInForm/SignInForm.tsx
+++ b/src/components/AuthUser/SignInForm/SignInForm.tsx
@@ -41,16 +41,18 @@ export const SignInForm: FC = () => {
   });
 
   const onSubmit: SubmitHandler<FormData> = (values: FormData) => {
-    axios
-      .post('/api/web/login', {
-        values,
-      })
-      .then((response) => {
-        // Handle server reponse
-      })
-      .catch((error) => {
-        // Handle error
-      });
+    axios.post(
+      '/api/web/login',
+      {
+        username: values.email,
+        password: values.password,
+      },
+      {
+        headers: {
+          'Content-Type': 'application/json',
+        },
+      },
+    );
   };
   const intl = useIntl();
   const classes = useStyles();
-- 
GitLab