카카오에서 발급받은 토큰 활용 방법 관련 문의

안녕하세요, 카카오 로그인 서비스 담당자님!
업무로 바쁘신 와중에 저희 질문 답변을 위해 귀한 시간 내주셔서 감사드립니다.

저는 지금 카카오 로그인을 자사 서비스에 붙이려고 하고 있습니다.
저희 서버에서 자체적으로 발급한 토큰도 브라우저에 쿠키로 심고 있는데, 카카오에서 발급해 주는 access token, refresh token 도 자사 서비스 도메인 브라우저에 쿠키로 저장해서 사용을 하려고 합니다. 따로 authorization server(권한인증서버)를 두고 있지 않아, 최대한 카카오 토큰을 사용해서 프론트, 백이 API 주고받을 때, authentication 을 하려고 하는 목적입니다. 물론, authorization 까지 카카오 토큰으로 할 수는 없겠지만요.

근데 이 부분에서 해당 토큰은 저희 서비스 client id 로 발급받은 토큰인데 해당 토큰이 고객한테 전달이 되면, 이제 해당 토큰으로 다른 카카오 API 호출을 무작위로 시도하여 관련 과금 문제가 발생할 수 있다든지 혹은 다른 이슈가 발생할 수 가능성이 없을지 궁금하여 질문을 드리게 되었습니다.

  1. 저희 서비스가 토큰을 관리하는 방식, 그리고 2. 우려하는 내용 관련해서 담당자로서 잘 답변해주시면 정말 감사드리겠습니다!!

추가적으로 id token 은 jwt 형식이라 decode 가 가능한데, 카카오 access token, refresh token 은 decode 하는 방법을 잘 모르겠습니다. 해당 부분도 가이드 해주시면 감사하겠습니다!!

감사합니다.
그럼, 오늘도 좋은 하루 보내세요 : )

안녕하세요.

1. 과금문의
디벨로퍼스에서 제공하는 API는 일부 API에 쿼터 제한이 있을 뿐 과금되지 않습니다.
쿼터가 존재하는 API는 아래 문서를 참고 부탁드립니다.

카카오 디벨로퍼스 - 쿼터

2. jwt 토큰 문의
카카오에서 전달하는 access token, refresh token 값은 jwt 토큰이 아니며, decode 할 수 없는 값으로 이루어져 있습니다.

서비스측의 인가처리를 위해 jwt를 사용하시는 것은 카카오에서 관여할 일은 아니지만,
서비스측 jwt 토큰안에 카카오의 토큰을 저장하여 사용하시는 것은 보안상 권장하지 않습니다.

이 토큰들은 사용자의 개인정보에 접근할 수 있는 민감한 내용으로 특히, refresh token이 탈취 당하게 되면 공격자는 사용자가 연결을 끊을 때 까지, access token을 계속 갱신하여 사용할 수 있게 됩니다.

접근토큰은 DB에 보관하시어 사용하시는것을 권장 드립니다.