사이드 메뉴
커뮤니케이션
API 제공
어드민 API
카카오 로그인
에러 코드
이 문서는 카카오 또는 공동체 서비스가 카카오 로그인 구현 시 발생할 수 있는 에러와 그 해결 방법을 안내합니다. 공통 에러 코드는 오픈 문서를 참고합니다.
| 에러 코드 | 설명 | 해결 방법 |
|---|---|---|
KOE103invalid_client | 요청 앱의 앱 ID, PLUGIN_TYPE, PLUGIN_EXT_ID로 DB에서 플러그인 정보를 찾을 수 없는 경우Not exist plugin [appID, PLUGIN_TYPE, plugin_extra_ID] | 플러그인 타입과 플러그인 아이디를 확인하고 재요청합니다. |
KOE104invalid_client | 요청 앱의 앱 ID, PLUGIN_TYPE, PLUGIN_EXT_ID로 비즈 서베이 정보를 찾을 수 없는 경우Not found survey info [appID, PLUGIN_TYPE, plugin_extra_ID] | 플러그인 타입과 플러그인 아이디를 확인하고 재요청합니다. |
KOE105invalid_client | plugin 파라미터의 값이 "EVENT", "SURVEY", "DEFAULT", "DEFAULT_INHOUSE"가 아닌 경우Not supported plugin [PLUGIN_TYPE] | plugin 파라미터 값을 변경후 재요청합니다. |
KOE106invalid_client | plugin 파라미터 값이 있는 요청에 앱에 PLUGIN_SUPPORTED 권한이 없는 경우Required PLUGIN_SUPPORTED permission | [서비스] API플랫폼 아지트에서 추가 권한을 신청합니다. |
KOE107invalid_client | delegate_client_id 파라미터를 사용했지만 DELEGATE_SUPPORTED 권한이 없는 경우Required DELEGATE_SUPPORTED permission | DELEGATE_SUPPORTED 권한이 있는 플랫폼 앱을 사용합니다. |
KOE108invalid_client | 프로필 플러그인 요청 시 CHANNEL_SUPPORTED 권한이 없는 경우, Required CHANNEL_SUPPORTED permission | [서비스] API플랫폼 아지트에서 추가 권한을 신청합니다. |
KOE109invalid_client | 프로필 플러그인 요청 시 유효하지 않은 channel_ext 파라미터 값을 사용하는 경우Not supported channel ext [Channel_Ext] | channel_ext 파라미터 값을 merged_scope 또는 scope으로 재요청합니다. |
KOE110invalid_client | 프로필 플러그인 요청 시 channel_ext 파라미터 값을 "merged_scope,scope"으로 함께 사용하는 경우Not be used together [merged_scope, scope] | channel_ext 파라미터 값을 merged_scope 또는 scope으로 재요청합니다. |
KOE111invalid_client | 프로필 플러그인 요청 시 channel 파라미터의 값이 "bizplugin"이 아닌 경우Not supported channel [Channel] | channel 파라미터 값을 bizplugin으로 재요청합니다. |
KOE112invalid_client | delegate_client_id를 이용해서 앱 정보를 찾을 수 없는 경우Not exist delegate_client_id [delegate_client_id] | 위임받은 플랫폼 앱의 앱 키를 확인후 재요청합니다. |
KOE113invalid_client | extra.required_scope 파라미터가 있는 요청에서 앱에 SCOPE_UPGRADE_SUPPORTED 권한이 없는 경우Required SCOPE_UPGRADE_SUPPORTED permission | [서비스] API플랫폼 아지트에서 추가 권한을 신청합니다. |
KOE206 invalid_request | 이미 종료된 서베이 플러그인을 조회하는 경우Event period has ended [appID, plugin_extra_ID] | 종료된 서베이 플러그인 동의창은 호출할 수 없습니다. |
KOE229invalid_request | approval_type 파라미터 값이 "project"인 요청에서 앱에 projectId가 없는 경우The client must have the projectId. | 프로젝트 앱이 아닌 경우, 인가 코드 요청시 approval_type 파라미터를 제외하고 재요청합니다. |
KOE230invalid_request | approval_window_type 파라미터 값이 "v1"인 경우This version is no longer supported. | 인가 코드 요청 시 approval_window_type 파라미터를 제외하고 재요청합니다. |
| interaction_required | have to sign up accountprompt 파라미터에 signup과 none을 함께 사용한 경우 | prompt에 signup과 none 두 값을 함께 사용하지 않아야 합니다. |
| 에러 코드 | 설명 | 해결 방법 |
|---|---|---|
KOE011invalid_request | 리프레시 토큰으로 토큰 갱신 시, 리프레시 토큰의 앱 ID와 토큰을 갱신하려는 하는 앱 ID가 서로 다른 경우 | 동일한 앱에서 발급받은 refresh_token을 사용해 토큰 갱신을 요청합니다. |
KOE115invalid_client | 네이티브 앱 키를 사용해 DELEGATE 인증을 하는 경우 | 위임 방식으로 토큰 발급 요청을 하는 경우 NATIVE_APP_KEY를 제외한 다른 앱 키를 client_id 파라미터로 사용합니다. |
KOE300invalid_grant | 카카오 계정 상태가 차단됨(BLOCKED)이거나 보호 중(PROTECTED)인 경우 | 카카오계정 상태가 PROTECTED인 경우 사용자가 카카오 계정 비밀번호를 변경해서 PROTECTED 상태를 해제할 수 있습니다. |
KOE301invalid_grant | 카카오 계정을 찾을 수 없는 경우 | 사용자 인증 정보가 유효한지 확인 후 토큰을 재요청합니다. |
KOE302invalid_grant | 권한이 없는 앱에서 Custom Grant를 사용하려고 하는 경우 | [서비스] API플랫폼 아지트에서 추가 권한을 신청합니다. |
KOE304invalid_grant | 토큰 발급 요청에 사용되는 토큰(talk token 등) 값이 비어있는 경우 | Grant에 사용될 토큰을 포함해 다시 요청합니다. |
KOE305invalid_grant | 위임(Delegate) 방식의 토큰 발급 요청에서 scope 파라미터를 포함하지 않는 경우 | 위임 방식으로 사용자 토큰 요청시 scope 파라미터로 동의항목을 지정해 토큰을 요청합니다. |
KOE306invalid_grant | 위임(Delegate) 방식의 토큰 발급 요청시 delegate_client_id로 앱 어드민 키를 사용하지 않는 경우 | 위임받은 플랫폼 앱을 나타내는 delegate_client_id 파라미터에는 플랫폼 앱의 ADMIN KEY 타입의 앱 키를 사용합니다. |
KOE307invalid_grant | BOT Service 프로퍼티를 가지고 있지 않은 앱에서 위임(Delegate) 방식의 토큰 발급 요청을 하는 경우 | [서비스] API플랫폼 아지트에서 추가 권한을 신청합니다. |
KOE308invalid_grant | 토큰 갱신 시 Long Lived Refresh Token 발급을 요청하면서 앱 어드민 키를 사용하지 않는 경우 | Long Lived Refresh Token 요청을 할 경우 client_id 파라미터에 ADMIN KEY 타입의 앱 키를 사용합니다. |
KOE309invalid_grant | 토큰 갱신 시 LONG_LIVED_REFRESH_TOKEN_SUPPORTED 권한이 없는 앱에서 Long Lived Refresh Token 발급을 요청하는 경우 | [서비스] API플랫폼 아지트에서 추가 권한을 신청합니다. |
KOE314invalid_grant | 인가 코드 발급 시 사용자 상태(Status)와 사용자 토큰 발급 요청 시 사용자 상태가 일치하지 않는 경우 (단, 토큰 발급 시 사용자 상태가 연결(Register) 또는 연결 대기(Preregister)인 경우 사용자 상태 일치하지 않아도 문제 없음) | 인가 코드를 다시 발급받아 토큰 요청에 사용합니다. |
KOE315invalid_grant | grant 값으로 "group_refresh_token"을 사용할 때, client_id로 네이티브 앱 키를 사용하지 않는 경우 | 네이티브 앱만 group_refresh_token grant 방식을 사용하도록 합니다. |
KOE316invalid_grant | group_refresh_token을 파라미터로 전달하지 않았거나 유효하지 않은 group_refresh_token을 사용하는 경우 | 유효한 group_refresh_token을 사용해서 사용자 토큰을 재요청합니다. |
KOE317invalid_grant | 같은 그룹에 포함되지 않은 앱의 토큰 발급 요청을 group_refresh_token으로 하는 경우 | group_refresh_token을 발급받은 앱과 액세스 토큰 발급받고자 하는 앱이 같은 그룹에 있는지 확인합니다. |
KOE318invalid_grant | grant 값으로 "group_refresh_token"를 사용해 토큰 요청 시 사용자가 앱에 아직 연결되지 않은 경우 | 사용자와 연결된 상태의 앱만 group_refresh_token을 사용해 액세스 토큰을 발급받을 수 있습니다. |
KOE319invalid_request | 토큰 갱신 시 리프레시 토큰 값이 비어있는 경우 | 사용자 토큰 요청시 발급된 리프레시 토큰을 refresh_token 파라미터로 전달합니다. |
KOE323invalid_grant | access_token 파라미터 값으로 액세스 토큰을 찾을 수 없거나 만료된 액세스 토큰을 사용한 경우 | 인가 코드를 사용해 액세스 토큰과 리프레시 토큰을 새로 발급받습니다. |
JavaScript SDK(Kakao SDK for JavaScript)를 사용한 카카오 로그인 구현 시 발생할 수 있는 에러와 그 해결 방법을 안내합니다.
- JavaScript SDK를 사용해 간편로그인 요청 시 발생할 수 있는 에러 목록입니다.
| 에러 | 설명 |
|---|---|
100invalid_client | 인가 코드 폴링 요청에 사용된 client_id로 앱 정보를 찾을 수 없는 경우client_id is not valid |
200js_client_not_allowed | 인가 코드 폴링 요청 시 사용되는 앱 키가 JS 앱키가 아닌 경우client_id is not javascript app key |
300not_found_auth_code | state나 auth_tran_id 파라미터에 대응하는 인가 코드를 찾을 수 없는 경우can't get an authorization_code |
400multiple_authorization | state나 auth_tran_id 파라미터에 대응하는 인가 코드가 2개 이상인 경우matches multiple authorization_code |
500access_denied | 사용자가 로그인을 취소하는 경우User denied access |
500access_denied | 만 14세 미만 사용자가 서비스의 연령제한 조건에 맞지 않아 동의를 할 수 없는 경우Not allowed under age 14 |
600invalid_request | 인가 코드 폴링(Polling) 요청 시 state 파라미터와 auth_tran_id 파라미터가 모두 없는 경우state or auth_tran_id must be requested |
600multiple_failed_history | state나 auth_tran_id 파라미터로 찾은 인증 실패 이력이 2개 이상인 경우matches multiple authorization failed history |