KOE322
KOE322에러는 refresh_token
을 찾을 수 없거나 이미 만료된 리프레시 토큰을 사용한 경우 발생합니다.
{"error":"invalid_grant","error_description":"expired_or_invalid_refresh_token","error_code":"KOE322"}
해결책
다시 카카오 로그인 시도하여, 인가 코드로 액세스 토큰과 리프레시 토큰을 새로 발급받습니다.
- 인가 코드 받기 : REST API | Kakao Developers REST API
- 토큰 받기 : REST API | Kakao Developers REST API
자주하는 실수
(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) 로그인한 사용자가 디벨로퍼스앱과 "연결 끊기"한 경우 토큰은 즉시 만료됩니다.
디벨로퍼스앱과 "연결 끊기"는 아래와 같은 경우 발생합니다.
- 연결 끊기 API를 호출한 경우
- 카카오 계정 서비스와 연결을 끊은 경우
- 카카오 계정을 탈퇴한 경우
- 카카오 로그인 절차인 인가 코드 받기와 토큰 받기 로 디벨로퍼스앱과 연결되었지만, 개인정보 조회 API를 호출하지 않아 가입 미완료자로 분류되어 연결끊기 되는 경우 (* 가입 미완료자 연결끊기 공지)