카카오 로그인 관련

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


React Js, Spring / 근근근

카카오 소셜 로그인 관련해서 질문 드립니다.

  1. 카카오 로그인 할때 반드시 인가코드를 프론트에서 요청후 응답값을 백엔드로 넘겨줘야하는지 궁금합니다.
    a. 프론트에서 받는게 아니라 백엔드에서 인가코드를 요청후 받아서 처리할 수 없는지도 궁금합니다.
    b. 보안적인 측면에서 인가코드를 프론트에서 노출 시키는게 위험 할 것 같아서 a.의 질문을 드렸습니다.

카카오 로그인은 여타 소셜로그인과 동일하게 OAuth2 기반으로 동작하며
(1) 인가코드 요청으로 (2) OAuth 프로바이더측에서 로그인 후, (3) 설정한 RedirectURI로 302 리다이렉트합니다.

a. 프론트에서 받는게 아니라 백엔드에서 인가코드를 요청후 받아서 처리할 수 없는지도 궁금합니다.

백엔드에서 인가코드 요청해도 무방하나 "(2) OAuth 프로바이더측에서 로그인"은 브라우저에서 동작합니다.

b. 보안적인 측면에서 인가코드를 프론트에서 노출 시키는게 위험 할 것 같아서 a.의 질문을 드렸습니다.

보안적 측면 때문이라면 굳이 그렇게 처리할 필요 없을 것 같습니다.
전세계 모든 OAuth2 소셜로그인이 프론트에서 요청해서 백엔드에서 처리하는 형태로 기본 구성되어 있습니다.

인가코드는 1회 사용하면 만료되므로
인가코드 보안이 염려되신다면, 아래내용 적용하셔서 CSRF공격을 방지하고 토큰 출처 검증 하시면 좋을 것 같습니다.

2.3. state 파라미터 사용 (CSRF 공격 방지)

2.5. nonce 파라미터 사용

1개의 좋아요