카카오 로그인 oauth2 방식 질문 있습니다

안녕하세요 oauth 공부 중에 질문이 있어 글 적게 되었습니다.

안드로이드에서 카카오 로그인 sdk를 사용하여 인증받는 방식은

  1. sdk를 통해 로그인을 인증받는다.
  2. 인증 과정을 통해 엑세스 토큰을 받는다.
  3. 엑세스 토큰을 클라이언트의 서버로 보내고 JWT 토큰을 받는다.

이러한 과정을 거치는 것으로 확인하였습니다.

하지만 이 방식의 단점은 안전하지 않은 채널의 url을 통해 accessToken을 받기 때문에 토큰이 탈취될 위험이 있어
권장되지 않는 방식으로 확인하였습니다.

카카오 로그인 sdk를 이용하여 accessToken을 발급 받는 과정은 앱 정보(키 해시)를 등록하였기 때문에
안전한 채널을 통해 accessToken을 받는게 맞는 지 궁금합니다. (탈취 될 위험이 없는지)

안녕하세요.

안드로이드 앱은 개인 기기에 설치되므로 카카오 SDK를 사용하셔서
카카오 로그인의 1,2번과정을 SDK에 일임하시는 것을 권장드립니다.

카카오의 액세스토큰을 개발하신 시스템의 JWT와 굳이 연관지을 필요는 없고, 서버로 액세스토큰을 전달하는 것도 추천드리지 않습니다.
안드로이드 앱내에서 카카오측 API호출하시는데만 액세스 토큰 활용되도록 카카오 SDK통해서 함수 호출만 하시면 좋을 것 같고 서버측과 교신은 안드로이드 앱내에 별도 처리하시면 좋을 것같습니다.

다만, 카카오 로그인 시 JWT토큰을 함께 반환하는 OIDC스펙 검토하셔서 개발하시는 시스템에 적용가능할지 검토해보시면 좋을 것같습니다.

이해하기 | Kakao Developers 이해하기