카카오 인증관련 오류
https://developers.kakao.com/console/app
{'error': 'invalid_grant', 'error_description': 'authorization code not found for code=xxxx', 'error_code': 'KOE320'}
PS H:\python\py_code>
PS H:\python\py_code> & H:/python/python.exe h:/python/py_code/카카오/카카오톡.py
{'access_token': 'xxxx', 'token_type': 'bearer', 'refresh_token': 'xxx', 'expires_in': xxxxx, 'refresh_token_expires_in': xxxxx}
PS H:\python\py_code>
정상 액세스 됨
인가 코드 관련 에러
카카오 로그인 인가 코드 발급시 발생할 수 있는 에러 목록입니다.
Error Code / Name | Description | Solution |
---|---|---|
KOE001 | 잘못된 요청인 경우 | 요청에 포함된 파라미터를 확인한 후 재요청합니다. |
KOE002 | 잘못된 URL로 요청을 보내는 경우 | 요청을 보낸 URL을 확인한 후 재요청합니다. |
KOE003 | 카카오 OAuth 서버에서 일시적인 오류가 발생한 경우 | 잠시 후 재요청합니다. 문제가 지속될 경우 데브톡으로 문의합니다. |
KOE004 | 카카오 로그인이 비활성화되어 있는 경우 | [내 애플리케이션] > [카카오 로그인]에서 카카오 로그인 기능을 활성화시킵니다. |
KOE005 | 테스트앱에 팀원으로 등록되지 않은 사용자가 로그인을 시도한 경우 | [내 애플리케이션] > [팀 관리]에 팀원 초대 기능을 사용해 팀원을 추가합니다. |
KOE006 | 등록되지 않은 Redirect URI를 인가 코드 요청에 사용한 경우 | [내 애플리케이션] > [카카오 로그인]에서 Redirect URI를 새로 등록하거나, 이미 등록된 Redirect URI를 인가 코드 요청 파라미터 redirect_uri 값으로 사용합니다. |
KOE007 | 등록되지 않은 Logout Redirect URI를 로그아웃 요청에 사용한 경우 | [내 애플리케이션] > [카카오 로그인] > [고급]에서 Logout Redirect URI를 새로 등록하거나, 이미 등록된 Logout Redirect URI를 로그아웃 요청 파라미터 logout_redirect_uri 값으로 사용합니다. |
KOE008 | 인가 코드 요청 시 Admin Key를 사용한 경우 | Admin Key가 아닌 개발 환경에 따른 올바른 타입의 앱 키(네이티브 앱 키, REST API 키, JavaScript 키 중 하나)를 사용해서 재요청합니다. |
KOE101 | 잘못된 앱 키 타입을 사용하거나 앱 키에 오타가 있을 경우 | [내 애플리케이션] > [앱 키]에서 발급 받은 앱 키를 올바르게 사용했는지 확인합니다. |
KOE102 invalid_client |
채널과 디벨로퍼스 앱이 연결되어 있지 않은 상태에서 인가 코드 요청에 channel_public_id 파라미터가 포함된 경우Required PLUS_FRIENDS_ON_AGREEMENT_SUPPORTED permission |
채널과 디벨로퍼스 앱을 연결한 후 재요청합니다. |
KOE201 invalid_request |
지원하지 않는 response_type 을 인가 코드 요청에 포함하는 경우Unsupported response type: {response_type} |
response_type 파라미터 값이 code 인지 확인한 후 재요청합니다. |
KOE202 invalid_request |
response_type 이 token 일 경우Implicit grant Required OAUTH_IMPLICIT_GRANT_SUPPORTED permission |
response_type 파라미터 값을 code 로 수정하고 재요청합니다. |
KOE203 invalid_request |
동의 화면에서 필수 동의 항목에 동의하지 않은 경우 All required service terms must be approved. required:{Service Term IDs} agreed:{Service Term IDs} |
비정상적 동의과정에서 보여지는 에러페이지로 해당 에러페이지가 보여지는 경우 데브톡으로 문의합니다. |
KOE204 invalid_request |
유효하지 않은 파라미터를 포함하는 경우 Invalid agreement_code: {Agreement Code} |
REST API > 인가 코드 받기에서 사용할 수 있는 파라미터를 확인한 뒤 재요청합니다. |
KOE205 invalid_scope |
앱 설정에서 설정하지 않은 동의 항목을 scope 파라미터의 값으로 포함한 경우 Invalid scope: {Scope} |
[내 애플리케이션] > [카카오 로그인] > [동의항목]에서 설정하지 않은 동의항목을 제외하고 재요청합니다. |
KOE207 invalid_request |
필수 파라미터가 누락된 경우 | REST API 가이드에서 필수 파라미터를 확인한 후, 해당 파라미터를 포함하여 재요청합니다. |
access_denied | User denied access | 사용자가 로그인을 취소한 것이므로, 초기 화면으로 이동시키는 등의 조치가 필요합니다. |
access_denied | Not allowed under age 14 | 만 14세 미만 사용자의 보호자 동의에 실패한 것이므로, 초기 화면으로 이동시키는 등의 조치가 필요합니다. |
액세스 토큰 관련 에러
카카오 로그인 엑세스 토큰 발급시 발생할 수 있는 에러 목록입니다.
Error Code /Name | Description | Solution |
---|---|---|
KOE101 invalid_client |
잘못된 앱 키 타입을 사용하거나 앱 키에 오타가 있을 경우 Not exist client_id {CLIENT_ID} |
요청 시 카카오 로그인을 사용할 앱의 앱 키를 전달했는지 확인합니다. [내 애플리케이션] > [앱 키]에서 발급 받은 앱 키를 올바르게 사용했는지 확인합니다. Android, iOS SDK를 초기화할 때는 네이티브 앱 키를, JavaScript SDK를 초기화할 때는 JavaScript 키를, REST API를 호출할 때는 REST API 키를 사용해야 합니다. |
KOE009 misconfigured |
등록되지 않은 플랫폼에서 액세스 토큰을 요청 하는 경우 invalid android_key_hash or ios_bundle_id or web_site_url |
플랫폼 등록을 참고하여 [내 애플리케이션] > [플랫폼]에서 Web/Android/iOS 플랫폼 설정이 올바른지 확인합니다. |
KOE010 invalid_client |
클라이언트 시크릿(Client secret) 기능을 사용하는 앱에서 토큰 요청 시 client_secret 값을 전달하지 않거나 정확하지 않은 값을 전달하는 경우Bad client credentials |
클라이언트 시크릿 기능을 활성화한 경우, client_secret 파라미터를 추가하지 않으면 OAuth 서버로부터 토큰을 발급받을 수 없습니다. [내 애플리케이션] > [카카오 로그인] > [보안]에서 생성한 클라이언트 시크릿 코드를 client_secret 파라미터로 전달합니다. |
Unauthorized | 사이트 도메인을 등록하지 않은 앱에서 액세스 토큰을 요청하는 경우 unauthorized - unregistered website domain |
[내 애플리케이션] > [플랫폼] > [Web]에서 사이트 도메인 설정이 올바른지 확인합니다. |
KOE303 invalid_grant |
인가 코드 요청 시 사용한 redirect_uri 와 액세스 토큰 요청 시 사용한 redirect_uri 가 다른 경우Redirect URI mismatch. |
인가 코드 발급 요청 시 전달된 redirect_uri 와 동일한 redirect_uri 를 사용하여 엑세스 토큰을 요청합니다. |
KOE319 invalid_grant |
토큰 갱신 요청 시 리프레시 토큰을 전달하지 않는 경우 refresh token is blank |
토큰 갱신 요청 시 발급받은 리프레시 토큰을 refresh_token 파라미터의 값으로 전달합니다. |
KOE320 invalid_grant |
동일한 인가 코드를 두 번 이상 사용하거나, 이미 만료된 인가 코드를 사용한 경우, 혹은 인가 코드를 찾을 수 없는 경우 authorization code not found for code={AUTHORIZATION_CODE} |
액세스 토큰 요청 시, 매번 새로운 인가 코드를 사용해야 합니다. 인가 코드를 다시 발급한 후, 새로 발급받은 인가 코드로 액세스 토큰을 요청합니다. |
KOE322 invalid_grant |
refresh_token 을 찾을 수 없거나 이미 만료된 리프레시 토큰을 사용한 경우expired_or_invalid_refresh_token |
인가 코드를 사용하여 액세스 토큰과 리프레시 토큰을 새로 발급받습니다. |
invalid_request | 잘못된 요청인 경우 | 요청 시 올바른 인자를 전달했는지 확인합니다. |