저의 경우 ejs 대신 next.js 환경에서 react를 사용해서 실습을 진행하고있는데요,
다른 챕터는 모두 무리없이 진행되다가
Part.3 (회원인증기능 2) 아이디 비번을 DB와 비교하고 세션 만들어주기 챕터에서
브라우저 쿠키탭에 세션이 저장되는 부분에서 막혀서 문의드립니다
server.js 는 8080 포트에서실행중인 상태에서
react 는 3000 포트에서 실행되는데요,
async function login(e: any) {
e.preventDefault();
const data = { id: "admin", pw: "1234" };
await fetch("http://localhost:8080/login", {
method: "post",
body: JSON.stringify(data),
headers: {
"Content-Type": "application/json",
},
});
}
로그인 버튼 클릭시 위 함수를 통해 post 요청을 보내면
passport.serializeUser 까지 정상적으로 수행돼서
app.post(
"/login",
passport.authenticate("local", { failureRedirect: "/fail" }),
function (req, res) {
res.send("완료");
console.log("정상수행");
}
);
passport.authenticate 성공시 호출되는 콜백함수까지 도달해서 "정상수행" 을 출력하는데,
정작 브라우저의 Cookies 탭에는 session 정보가 저장이 안됩니다. (강의와 똑같이 진행시 저장됨)
react 와 server 포트가 분리돼서 그런건가 생각되는데
ejs파일을 사용안하고 react를 사용하는 환경에서 세션정보를 저장하는 방법이 있을까요?