사용자 토큰 갱신 관련하여 문의가 있어 글을 남깁니다

안녕하세요. 현재 카카오 develop을 사용하고 있습니다.

토큰 갱신과 관련하여 이슈사항이 있어 문의 남깁니다.

현재 제가 운영하고 있는 서비스에서 refreshToken을 저장하고 있습니다. 그리고 그 refreshToken이 발급된 지 24일이 지나면,

사용자 토큰 갱신 API를 이용해 재발급을 할 수 있도록 해두었습니다. 그런데 특정한 하나의 refreshToken이 expired된 것을 확인하게 되었습니다.(다른 토큰을 갱신이 되었음.)

로그를 확인하니 아래와 같았습니다.
{“error”:“invalid_grant”,“error_description”:“expired_or_invalid_refresh_token”}

왜 이런 현상이 일어나는 것인지 알고 싶습니다. 참고로 저희 어플리케이션에 사용자 목록에는 토큰과 관련한 해당 사용자가 저장되어 있는 상태입니다.

답변 부탁드립니다.

토큰값을 알려주셔야 확인이 가능할 것 같네요. 토큰값이 남아있지 않다면 appKey 와 로그가 찍힌 일시가 있어야 확인해볼 수 있을 것 같아요~
메시지로 보내주시면 됩니다

안녕하세요.

expired_or_invalid_refresh_token 에러 메시지는 refresh token이 만료되거나 invalid 한 경우에 발생하는 메시지 입니다.

자세하게 구분하면 아래의 경우에 발생하게 됩니다.

  1. 형태가 잘못된 경우

  2. 존재하지 않는 경우

  3. 만료된 경우

  4. 관련된 User가 존재하지 않는 경우

  5. refreshToken 의 appId 와 요청한 appKey의 appId가 다른 경우

정확한 정보는 refreshToken 값, appKey, 로그가 찍힌 시간이 있어야 추가적인 확인이 가능합니다.

메시지 보냈습니다. 확인 부탁드립니다.

또 다른 만료 refresh_token을 확인하였습니다.
메시지로 관련 정보 보내드렸습니다.

혹시 사용자가 임의로 카카오톡 앱 설정에서 저희 앱 허용을 삭제할 수도 있는지도 궁금합니다. 왠지 그 이유때문이 아닌가 해서요.

빠른 답변 부탁드릴게요

알려주신 데이터로 확인해보니 사용자가 계정 정보를 변경시킨 케이스였습니다. 이런 경우 기 발급받은 리프레쉬 토큰들은 만료시킵니다.
이외에도 다양한 경우에 리프레쉬 토큰들이 만료될 수 있으니 되도록이면 배치로 갱신하시기 보다는 사용자의 요청이 있을때 처리해주시는게 좋을 것 같아요.

1개의 좋아요

안녕하세요 이미 시간이 많이 지난 답변이지만 정확한 궁금증이 해결되지 않아 문의 남깁니다.

사용자의요청이 있을때마다 정확히 어떤 처리를 한다는건지 알려 줄 수 있으신가요??

저같은경우는 사용자가 카카오계정에서 임의 탈퇴하였을때 expired_or_invalid_refresh_token 에러가 발생하였습니다.