KOE322 (expired_or_invalid_refresh_token) 에러가 발생할 때

KOE322

KOE322에러는 refresh_token 을 찾을 수 없거나 이미 만료된 리프레시 토큰을 사용한 경우 발생합니다.

{"error":"invalid_grant","error_description":"expired_or_invalid_refresh_token","error_code":"KOE322"}

해결책

다시 카카오 로그인 시도하여, 인가 코드로 액세스 토큰과 리프레시 토큰을 새로 발급받습니다.

자주하는 실수

(1) refresh_token 의 유효기간은 2개월이지만 1개월 남은 시점에 access_token 갱신하기 API 호출 하면, 새로운 refresh_token 이 발급되고 기존 refresh_token 은 만료됩니다.

access_token 갱신하기 API를 호출할 때, refresh_token 이 갱신 되었다면 아래와 같이 refresh_token 이 함께 전달됩니다.
Response Json에 refresh_token항목이 있다면 refresh_token을 업데이트 하는 로직을 구현하셔야합니다.

{
    "access_token":"${ACCESS_TOKEN}",
    "token_type":"bearer",
    "refresh_token":"${REFRESH_TOKEN}",  //optional
    "refresh_token_expires_in":25184000,  //optional
    "expires_in":43199,
}

(2) 로그인한 사용자가 디벨로퍼스앱과 "연결 끊기"한 경우 토큰은 즉시 만료됩니다.

디벨로퍼스앱과 "연결 끊기"는 아래와 같은 경우 발생합니다.