강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김로인님의 프로필 이미지
김로인

작성한 질문수

React로 NodeBird SNS 만들기

제로초님

작성

·

492

1

제로초님 지금 리액트 라우터를 사용 하고 있고 리액트 라우터에서 

node.js를 연동 하고 있습니다 

카카오 로그인을 하고 있는데 core가 걸리더라구여 

이런 경우에는 프론트엔드 또한 express를 하나 둬서 거기 안에도 core할 수 있게 해야 되는 건가요?

아니면 지금 백엔드에서 

뭘 추가 해줘야 하나요?

답변 13

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

react-router에서는 this.props.history.push가 있습니다.  hooks라면 useHistory 후에 history.push로 가능합니다.

0

김로인님의 프로필 이미지
김로인
질문자

감사합니다. 제로초님 마지막으로 넥스트 에서는 Router.push('/') 이걸 써서 바로 이동 하게 해줬는데 비슷한 유형이 그냥 react에는 history 인가요?

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네네 withCredentials는 axios의 옵션 중 하나입니다. 다른 도메인간에 쿠키를 전달할 수 있게 해줍니다.

0

김로인님의 프로필 이미지
김로인
질문자

아 사가에서 withCredentials으로 확인 하는거 말씀 하는거 맞으시죠??

제로초님 withCredentials가 axios의 내장 함수 인거죠?!

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

프론트에 있는 세션쿠키랑 서버의 메모리에 저장된 세션 데이터 중 하나와 일치하면 passport가 알아서 세션에서 찾아옵니다. 그냥 서버에 요청 아무거나 보내시면 알아서 로그인되어있는지 아닌지 여부를 서버가 판단합니다.

0

김로인님의 프로필 이미지
김로인
질문자

확인 방법이 어떻게 되나용?

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네네 서버에 세션으로 저장되어있는지 확인해서 불러옵니다.

0

김로인님의 프로필 이미지
김로인
질문자

아 그러면 SSR이 아닌 상황에서는 그냥 첫 로드 할때 dispatch를 하여 ID를 확인 하는 식으로 하면 되는 건가요? 

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

저는 a태그로 바로 접근했습니다. 카카오 api 로그인은 kakao sdk를 쓰시거나 a 태그로 접근하는 것 이 두 가지가 가장 대표적일 것입니다. 싱글페이지 애플리케이션이라도 페이지 새로고침은 어쩔 수 없습니다.

0

김로인님의 프로필 이미지
김로인
질문자

제로님 같은 경우에 웹 홈페이지 만드셨을때 카카오 api로그인 기능 만드실때 사가를 쓰셨나요>??? 아니면 그냥 a태그로 url바로 접근 하신걸 쓰신 건가요?

현재 node.js 책버전 강의랑 같이 보고 있는데 거기는 랜더를 시킬수 있어서 보니까 a태그로 접근을 하셨더라구여 

api 로그인 부분은 어쩔수 없이 랜더 해서 하용할수 밖에 없는 현상인가요?

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

백엔드에서 passport.authenticate하는 것이면 백엔드 주소가 필요합니다. 그런데 localhost:3000이 뜨는 걸 보니까 프론트에서 처음 요청을 보내시는 것 같네요. 이게 카카오 로그인이 로컬호스트를 지원하는지는 확인해봐야할 것 같습니다.

0

김로인님의 프로필 이미지
김로인
질문자

백엔드 주소가 아닌 프론트 주소릉 적어 줘야 하는 건가요?!

아니면 혹시 고급에 보니 

이런게 있던데 여기 허용을 해줘야 하는 건가요?

이런식으로 저장한 상태입니다

지금 현재 흐름도는 onclick으로 데이터를 dispach로 saga에 접근 할수 있게 하고 사가에서 

function kakaoLoginAPI() {
    // console.log("aaa")
    // 서버에 요청을 보내는 부분
    return axios.get(`/auth/kakao`)    
}
한뒤 백엔드 서버에서
router.get("/auth/kakao"passport.authenticate('kakao'))
데이터를 받을수 있게 하고 있습니다.

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

cors 말씀이시죠? 카카오 개발자도구에서 localhost:3000을 허용 url로 등록하셨나요?

김로인님의 프로필 이미지
김로인

작성한 질문수

질문하기