문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.
React Js, Spring / 근근근
카카오 소셜 로그인 관련해서 질문 드립니다.
카카오 로그인 할때 반드시 인가코드를 프론트에서 요청후 응답값을 백엔드로 넘겨줘야하는지 궁금합니다.
a. 프론트에서 받는게 아니라 백엔드에서 인가코드를 요청후 받아서 처리할 수 없는지도 궁금합니다.
b. 보안적인 측면에서 인가코드를 프론트에서 노출 시키는게 위험 할 것 같아서 a.의 질문을 드렸습니다.
tim.l
11월 10, 2023, 12:03오전
2
카카오 로그인은 여타 소셜로그인과 동일하게 OAuth2 기반으로 동작하며
(1) 인가코드 요청으로 (2) OAuth 프로바이더측에서 로그인 후, (3) 설정한 RedirectURI로 302 리다이렉트합니다.
a. 프론트에서 받는게 아니라 백엔드에서 인가코드를 요청후 받아서 처리할 수 없는지도 궁금합니다.
백엔드에서 인가코드 요청해도 무방하나 "(2) OAuth 프로바이더측에서 로그인"은 브라우저에서 동작합니다.
b. 보안적인 측면에서 인가코드를 프론트에서 노출 시키는게 위험 할 것 같아서 a.의 질문을 드렸습니다.
보안적 측면 때문이라면 굳이 그렇게 처리할 필요 없을 것 같습니다.
전세계 모든 OAuth2 소셜로그인이 프론트에서 요청해서 백엔드에서 처리하는 형태로 기본 구성되어 있습니다.
인가코드는 1회 사용하면 만료되므로
인가코드 보안이 염려되신다면, 아래내용 적용하셔서 CSRF공격을 방지하고 토큰 출처 검증 하시면 좋을 것 같습니다.
2.3. state 파라미터 사용 (CSRF 공격 방지)
2.5. nonce 파라미터 사용
1개의 좋아요