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