자바스크립트를 통하여 받은 refresh_token을 rest API에서 사용가능한가요?

로그인절차를 다음과 같이 진행하려고 합니다.

  1. JavaScript에서 sdk를 이용하여 로그인버튼 생성
  2. 사용자가 로그인하여 넘어오는 access_token, refresh_token를 서버단으로 넘김
  3. refresh_token을 사용자 정보 DB에 저장
  4. sdk를 통해 받은 access_token을 이용하여 Rest API 사용

… 다음이벤트가 일어났을때

  1. 사용자 정보 DB에 refresh_token이 있으면 refresh_token 갱신을 이용하여 access_token을 새로 받음
  2. 새로 받은 access_token을 이용하여 Rest API 사용

이런식으로 구현을 했을때 토큰과 관련한 문제가 발생할 소지가 있나요??

안녕하세요!
JavaScript SDK에서는 Refresh Token을 사용할 수 없기 때문에, Refresh Token을 이용한 Access Token 갱신 시 REST API를 사용하여야 합니다. 가이드에 언급된 내용을 참고차 전달 드립니다.

보안 정책에 따라 JavaScript SDK에서 Refresh 토큰을 이용할 수 없고, Refresh토큰을 이용한 새로운 Access Token 발급은 REST키를 이용하여 서버 측에서 이루어져야 합니다. 서버 측에서 Access Token을 발급받는 방법은 REST 가이드 로그인 의 ‘사용자 토큰 갱신’ 부분을 참조하세요.

sdk를 이용하여 아래와 같이 호출했을때에 access_token과 refresh_token이 넘어오는데 여기서 넘어오는 refresh_token은 REST API에서 사용할 수 없는 값인건가요??
window.Kakao.Auth.createLoginButton({
container: ‘#kakao-login-btn’,
success(authObj) {
alert(JSON.stringify(authObj));
},
fail(err) {
alert(JSON.stringify(err));
},
});
결과값
{“access_token”:“Ln8kwf4ywtk5YRzTr5zXcogtJyt_iuZCOwB5Hgo9c00AAAFv8EAPuA”
“token_type”:“bearer”
“refresh_token”:“3FN0NITrd-loJsKlacHjlqxHT04Kh1HgeRkC2wo9c00AAAFv8EAPtg”
“expires_in”:7199
"scope":“profile”
“refresh_token_expires_in”:5183999}

refresh_token을 sdk에서 사용하겠다는것이 아닌 sdk에서 발급받은 refresh_token을 RestApi에서 사용가능한지 문의드리는게 핵심내용입니다.

네, 가능합니다.
하지만 Refresh Token을 서버에 저장해두고 쓰시면 유효기간으로 인해 문제가 생길 수 있는 점 고려해 주세요.