작성
·
170
0
노드교과서 강의도 들었었는데, 그때는 카카오 패스포트할때는 아예 프론트서버없이 템플릿엔진으로 랜더링해줘서 /kakao/callback 라우터에서 그냥 redirect('/')해주면 됐었는데,
이번엔 프론트서버(3000)와 백엔드서버(8080)이 나뉘어서 그런지 redirect('/') 해주면 로그인후에 localhost:8080으로 가버려서 해매고있습니다.
local passport처럼 데이터값을 프론트에서 받아와서 action.payload에 넣어주는 방법을 알고싶습니다... 강의밖의 내용이지만 알려주신다면 너무 감사할것같습니다 이거때문에 너무 오래 해매고있어서요 ㅠㅠ
답변 1
0
솔직히 말하면, 워낙 복잡해서, 여기서 전부 설명드릴 수 있을지 모르겠습니다.
일단 서버가 두 개입니다. 프론트와 백엔드로요.
그래서 먼저 카카오 로그인을 할 때 주소를 백엔드로 두시고(어차피 리다이렉트는 필수입니다) 백엔드 로그인을 진행하면 됩니다.
그러면 백엔드 서버에는 로그인 되어있는 상황이고, 프론트에서는 로그인이 안 되어있는 상황입니다. 그래서 프론트 서버에도 로그인을 해줘야하는데, 리다이렉트uri를 프론트 서버의 한 라우터로 연결해서(라우터 만드는 방법은 nextjs api routes 참고하세요) 거기에도 똑같은 세션 쿠키를 심어주어야 합니다. 그 후 프론트 라우터에서 다시 브라우저 화면으로 리다이렉트해주면 됩니다.
브라우저 - 백엔드 - 프론트엔드 라우터 - 브라우저 라고 보시면 됩니다. 쿠키 공유가 핵심입니다.
쿠키를 공유하는것 까지는 알겠는데 쿠키를 어떻게 사용해야하죠?