카카오 api 사용 시 프론트, 백 모두 리다이렉트 주소가 같아야 할까요?

문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.
앱ID : 1104299


앱에 리다이렉트 주소가 여러개 설정되어있는데
프론트와 백 모두 각 작업공간에서 리다이렉트를 같은 주소로 설정해서 작업해야하나요?

백엔드에서 전달해주신 리다이렉트 주소가 있는데 전달주신 링크는 백엔드에서 작업 진행 후 배포된 링크만 전달을 주셔서
프론트에서는 작업이 어려운 상황이라서요…!

리다이렉트 주소를 백엔드에서 전달주신 링크로 설정하면
로그인 후 백엔드 배포 주소로 넘어가 프론트에서 다른 페이지 이동 작업이 불가합니다 ㅠㅠ

안녕하세요.

인가코드 요청에 사용된 Redirect URI와 전달된 인가코드로 접근토큰시 사용되는 Redirect URI는 같아야만 합니다.

위 상황이 어떤 상황인지 잘 이해되지 않는데요
프론트와 백엔드가 각각 다른 페이즈(ex, 프론트는 로컬, 백엔드는 배포된 운영)인 상태에서 사용을 의미하신건가요?

프론트, 백 모두 각자의 배포된 페이지를 운영 중이며
백엔드에서 api를 사용할 수 있는 링크를 보내주시면 프론트에서 프로젝트에 작업 후 페이지를 배포하고 있습니다.

프론트 : https://actip.swygbro.com/
백엔드 : http://15.164.202.203:8080/api/user/login/kakao

위와 같이 다른 페이지로 작업 중이다보니 백엔드에서 넘겨주신 리다이렉트 링크로 설정을 하면 백엔드 사이트로 넘어가면서 프론트쪽에서 다시 https://actip.swygbro.com/로 돌아오는 작업이 어려운 상황입니다 ㅠㅠ

프론트, 백엔드 모두 리다이렉트 url을 https://actip.swygbro.com/ 해당 사이트의 페이지로 설정하고
http://15.164.202.203:8080/api/user/login/kakao 해당 페이지에서 응답만 받아와서 사용자의 이메일이 노출되도록 하고싶은데…잘 안되어서요…!

현재는 리다이렉트 url이 http://15.164.202.203:8080/api/user/login/kakao로 설정되어있어 아래와 같이 나오고 있습니다.
혹시 이럴 때는 어떻게 진행하면 좋을까요…?

image

지난 질문에 캡쳐한 이미지를 많이 넣어두어서 함께 첨부드립니다!

https://devtalk.kakao.com/t/url-koe006/139137/2
https://devtalk.kakao.com/t/topic/139147

프론트와 백엔드 모두 redirect_uri로 http://15.164.202.203:8080/api/user/login/kakao 을 사용하고
백엔드 /api/user/login/kakao 에서 필요한 처리 완료 후, https://actip.swygbro.com/ 으로 302 리디렉션 하도록 응답하면 문제 없을것으로 보입니다.
백엔드가 응답할 때, 헤더에 Set-Cookie로 서비스측 jwt를 전달하면 프론트에서 바로 꺼내어 사용도 가능하구요


다른이야기지만, 백엔드가 http로 제공되는데 내부망에서만 접근 가능하도록 하려고 하시는건가요?

http로 제공을 받고 있는데요! 따로 접근 관련한 부분에 대해서는 들은 내용이 없지만 http로 배포가 되어서 그런 것 같습니다!

혹시, 프론트와 백엔드 호스트가 서로 달라도 cookie로 데이터를 전달이 가능한걸까요?

현재 사용 호스트는 아래와 같습니다.

프론트 : https://actip.swygbro.com/
백엔드 : http://15.164.202.203:8080/api/user/login/kakao

카카오디벨로퍼스 보안 권장사항에서는 전송 중 데이터 암호화 하도록 가이드 하고 있습니다.
백엔드도 도메인을 보유하시고 https 사용 하도록 하시는것을 권고 드립니다.


현재 상황에서
백엔드에서 쿠키 전달할 때, 도메인을 프론트 주소로 지정 하시면 프론트가 전달 받을 수 있지만,
프론트에서 IP로 제공되는 백엔드 API 요청 시, 쿠키 전달되지 않습니다.

앞서 무엇보다 http로 제공되는 것은 보안에 매우 취악한 상태로 서비스게 제공되는 것이기에
포트폴리오 목적의 1회성 서비스가 아닌 실제 운영 하고자 하는 서비스라면 https 사용하시는 것을 고려부탁드립니다.

자세한 답변 감사합니다! 보안 관련 부분도 확인하여 수정할 수 있도록 조치하겠습니다 :slight_smile: