-
Passport session 작동 안함기타/메모장 2022. 7. 9. 00:55
지금까지 passport를 써오면서 아무 문제없이 여러 프로젝트에 로그인을 구현하였다.
근데 이번 프로젝트에서 갑자기 passport가 문제를 일으켰다.
분명히 아무런 문제없이 로그인이 성공했는데, 심지어 유저 정보까지 잘 받아오는데 성공했는데, 로그인 정보가 유지되지 않았다. 이건 분명히 세션쪽에 저장하는 데에 문제가 생긴것이 확실해보였다.
문제는 그 원인을 하루종일 찾지 못했다는 점이다.
해결법
서버와의 통신을 위해 react단에서 axios를 사용했는데, axios의 withCredentials 옵션을 true로 설정했어야 했다.
프로젝트 시작할 때 한번 세팅해두고는 건드리지 않는 부분이라서 그런지 한번 잊어버리니까 도저히 생각이 안났다.
진짜 예전 프로젝트 코드들 다 뒤져보면서 겨우 찾았다.
axios.defaults.withCredentials = true;
이렇게 설정을 해둬야 쿠키 정보를 저장할 수 있다고 한다.
물론 서버단에도 관련 설정을 해줘야한다.
나같은 경우에는 cors 라이브러리를 이용해서 설정했다. (놀랍게도 이건 내가 설정해뒀었다. 기억은 안나지만)
app.use( cors({ origin: "http://localhost:3000", credentials: true, }) );
아무튼 이렇게 클라이언트와 서버쪽에 모두 쿠키 사용 옵션을 설정해야 한다는 점을 다신 까먹지 말자...