카카오 로그인 엑세스 토큰 전송 전 암호화

안녕하세요.

모바일 어플리케이션을 개발 중인데, 카카오 로그인 기능을 사용하려고 합니다.

클라이언트 쪽에서 카카오 로그인을 하고 나서 카카오 서버에서 받은 엑세스 토큰을 제가 개발하고 있는 웹서버로 HTTP 요청을 날리는데, 전송 중 암호화는 HTTPS로 처리되어있습니다.

엑세스 토큰에 대한 암호화처리를 추가적으로 클라이언트에서 엑세스 토큰을 암호화한 후 제 서버로 요청을 해야하나요?

안녕하세요.

카카오 로그인을 하면 Redirct URI로 소유하신 시스템으로 인가 코드를 전달 받고
인가 코드를 이용해 액세스 토큰을 발급하게 됩니다.

발급 받은 액세스 토큰은 클라이언트에서 핸들링 하지마시고
Backend에서만 관리하시는 것을 권장드립니다.

클라이언트에서는 사용자정보가져오기 / 배송지 정보가져오기 등 Backend로 정보 요청만 하고
Backend에서는 가지고있는 액세스 토큰을 활용해 정보 조회해 전달하는 형태로 사용한다면

클라이언트-서버간 통신에 액세스 토큰을 전달하지 않고 안전하게 사용하실 수 있습니다.

답변 감사합니다.

제가 만들고 있는 서버는 API 서버인데, Redirect URI로 인가코드를 어떻게 전달받을 수 있을까요?

지금 OAuth 로그인 로직 방식이 아래 그림과 같이 구현되어 있습니다.

OAuth 로그인 구조

클라이언트에서 카카오 로그인을 성공한 뒤 엑세스 토큰을 제 API 서버로 HTTP 바디에 실어서 제 API에서 전달받은 엑세스 토큰을 가지고 다시 카카오 서버로 인증을 합니다.

카카오 로그인 Doc을 보니 아래 그림과 같이 동작하도록 되어있는데

Screen Shot 2022-07-28 at 2.12.44 PM

클라이언트 → 제 API 서버로 인가 코드 받기 요청 → API 서버에서 카카오 서버로 인가 코드를 가지고 인증 요청 을 하고나서 클라이언트에서 로그인 및 동의로 돌아가는데, API 서버에서 모바일 클라이언트 화면 쪽으로 어떻게 처리해야하는지 잘모르겠습니다

JS SDK authorize방식으로 로그인하며 Frontend와 Backend분리된 서버환경으로 설명드리면,

(1) Frontend에서 카카오 로그인
(2) 카카오측 로그인 화면 및 제3자 정보제공동의 화면 표시

(3) 설정된 Redirect URI로 인가 코드파라메터 가지고 리다이렉트

  • Redirect URI를 Backend API URL로 설정하시면 인가코드를 전달 받을 수 있습니다.

(4) Backend에서 액세스 토큰 발급 및 사용자 정보조회로 로그인 또는 회원가입 처리

  • 이때, 액세스 토큰은 Backend의 세션이나 캐시서버에 한시적으로 보관합니다.

(5) Backend처리 후, Frontend로 리다이렉트

이후 부터는 Frontend에서 Backend에 API호출 할때 별도의 카카오의 액세스 토큰을 핸들링 하지 않고
Backend에 요청하는 형태로 사용합니다.

좋아요 1