안녕하세요.
API Refresh token 관련하여 문의 드립니다.
2021-07-15 08:50:02 에 … “refresh_token”:“YNi2jXOtXqkNj7j5…”,“expires_in”:21599,“refresh_token_expires_in”:5183999}
을 갱신 했는데요.
2021-08-01 16:50:01 에 {“error”:“invalid_grant”,“error_description”:“expired_or_invalid_refresh_token”,“error_code”:“KOE322”}
refresh token 관련 에러가 발생했습니다.
토큰 유지가 2달로 알고 있는데요. 기간 전에 에러가 발생 하여 확인해봐야 하는 구간이 있는지 확인 부탁드립니다.
안녕하세요
토큰 갱신에 사용하신 refresh_token을 메시지로 전달해주시면 확인해보도록 하겠습니다.
메시지로 전달해주신 refresh_token이 만료되는 이유를 확인해봤습니다.
YNi2jXOtXqkNj7j5…
refresh_token을 발급받은 사용자가 너무 많은 refresh_token을 가지고 있어서 토큰이 만료됐습니다.
현재 서비스에서 사용자가 토큰 갱신 요청과 토큰 발급 요청을 함께 요청하고 있는데요,
토큰 발급 요청시 매번 새로운 refresh_token이 발급되게 되고 이렇게 발급되는 토큰이 많아지면 refresh_token의 유효기간이 지나지 았았더라도 만료처리가 되게 됩니다. 따라서 동일한 사용자가 로그인하는 경우 기존에 발급받으신 access_token과 refresh_token을 사용해주시면 됩니다.
답변 감사합니다.
답변 주신 내용 중에 추가 문의 드립니다.
현재 서비스에서 사용자가 토큰 갱신 요청과 토큰 발급 요청을 함께 요청하고 있는데요,
토큰 발급 요청시 매번 새로운 refresh_token이 발급되게 되고
-> https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-token
access_token 만료 되기 전, [토큰 갱신 하기 API] 통해 갱신을 하고 있는데요. 이때 refresh_token 도 계속 갱신되는건가요?
문서에 따르면 “사용된 리프레시 토큰의 만료 시간이 1개월 미만으로 남았을 때만 갱신되어 전달” 된다고 나와 있는데 “매번 새로운 refresh_token이 발급되게 되고” 라고 적어주신게 가 잘 이해가 안가서요.
갱신 API 응답
{“access_token”:"_RmZtSlPyXGX2XUBCzqXzwWjioUvX3EHWvyCF…",“token_type”:“bearer”,“expires_in”:21599}
확인 부탁드립니다. 감사합니다.
토큰 갱신 요청(grant_type=refresh_token)의 경우 말씀해주신대로 만료시간이 1달 미만이 되는 경우 갱신되어 전달되며 이전 refresh_token은 만료처리가 되게 됩니다.
그러나 현재 사용중이신 앱에서는 토큰 갱신 요청 이외에 authorization_code로 새로운 토큰(access_token, refresh_token)을 발급하는 요청이 동일사용자로부터 계속 들어오고 있습니다. 새로운 토큰을 발급하는 요청을 하면 토큰이 갱신되는 것이 아니라 새로운 토큰이 발급됩니다.
혹시 기존에 로그인해서 토큰이 발급된 사용자도 /oauth/authorize
요청으로 인가코드를 발급받고, /oauth/token
으로 토큰을 발급하는 과정이 없는지 확인 부탁드립니다.
답변 감사합니다.
내용 이해 했습니다.
타부서 서비스에서 사용 하는게 있는 지, 내부에서 확인해보겠습니다.
감사합니다.