From 5437505cda3f13f8a19b41b3d52728fdab82bfa2 Mon Sep 17 00:00:00 2001 From: Youngheon Jeong <81753155+jjyyhh0208@users.noreply.github.com> Date: Thu, 24 Oct 2024 17:42:09 +0900 Subject: [PATCH] Fix: CORS settings fixed --- backend/worklog/worklog/settings.py | 9 +++++---- frontend/src/App.js | 4 ++++ frontend/src/pages/Main/Main.js | 9 --------- frontend/src/utils/AdminService.js | 2 +- 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/backend/worklog/worklog/settings.py b/backend/worklog/worklog/settings.py index d4f83a60..f500b39f 100644 --- a/backend/worklog/worklog/settings.py +++ b/backend/worklog/worklog/settings.py @@ -84,11 +84,12 @@ ] # CORS -CORS_ALLOW_ALL_ORIGINS = False +CORS_ALLOW_ALL_ORIGINS = True CORS_ALLOWED_ORIGINS = [ - + 'https://api.worklog.my', + 'http://api.worklog.my', ] -# CORS_ALLOW_CREDENTIALS = True +CORS_ALLOW_CREDENTIALS = True # CORS_ALLOW_HEADERS = '*' # CSRF @@ -143,7 +144,7 @@ ] MIDDLEWARE = [ - # "corsheaders.middleware.CorsMiddleware", + "corsheaders.middleware.CorsMiddleware", "django.middleware.security.SecurityMiddleware", "django.contrib.sessions.middleware.SessionMiddleware", "django.middleware.common.CommonMiddleware", diff --git a/frontend/src/App.js b/frontend/src/App.js index e01bed82..bd60b60e 100644 --- a/frontend/src/App.js +++ b/frontend/src/App.js @@ -35,6 +35,7 @@ import Header from './components/Header/Header'; import AuthRedirect from './components/Auth/AuthRedirect'; import ProtectedRoute from './components/Auth/ProtectedRoute'; +//django에서 csrf 토큰을 쿠키에 포함에서 주기 때문에 어디서 이를 확인할지와 어떻게 보낼지 설정 axios.defaults.xsrfCookieName = 'csrftoken'; axios.defaults.xsrfHeaderName = 'X-CSRFToken'; @@ -61,6 +62,7 @@ function App() { }); const [profileData, setProfileData] = useState(null); + //localStorage에 authToken이 있으면 true, 없으면 false const isLoggedIn = () => { return !!localStorage.getItem('authToken'); }; @@ -80,10 +82,12 @@ function App() { '/friend-profile/:id', ]; + //root url이면 항상 true 반환 if (location.pathname === '/') { return true; } + //위 리스트의 url에 현재 url이 존재하면 true 반환 return pathsWithHeader.some((path) => { const regexPath = new RegExp('^' + path.replace(/:[^\s/]+/g, '([^/]+)') + '$'); return regexPath.test(location.pathname); diff --git a/frontend/src/pages/Main/Main.js b/frontend/src/pages/Main/Main.js index 98ca6d4b..5d348587 100644 --- a/frontend/src/pages/Main/Main.js +++ b/frontend/src/pages/Main/Main.js @@ -5,17 +5,8 @@ import 'react-responsive-carousel/lib/styles/carousel.min.css'; import typeData from '../../data/typeData.json'; function Main() { - const navigate = useNavigate(); const refs = useRef(typeData.types.map(() => React.createRef())); - const handleLoginClick = () => { - navigate('/login'); - }; - - const handleSignUpClick = () => { - navigate('/signup/1'); - }; - const scrollToSection = (index) => { const offset = 100; const top = refs.current[index].current.getBoundingClientRect().top + window.pageYOffset - offset; diff --git a/frontend/src/utils/AdminService.js b/frontend/src/utils/AdminService.js index d3c0156e..17833ac4 100644 --- a/frontend/src/utils/AdminService.js +++ b/frontend/src/utils/AdminService.js @@ -34,7 +34,7 @@ const AdminService = { }, checkUserName: (userName) => { - return API.post('/profiles/auth/check-username/', { username: userName }) // Pass the username as an object + return API.post('accounts/check-username/', { username: userName }) // Pass the username as an object .then((response) => { return response.data; // Return response data for further use })