페이지 이동경로
  • Docs>
  • Kakao Login>
  • Troubleshooting

Kakao Login

Troubleshooting

This document introduces the errors that may occur when integrating Kakao Login and the solutions.

This document is intended for developers integrating Kakao Login into their apps, not for users attempting to log in with Kakao. This page is not a customer support page.

Error about Authorization code

The list shows errors that may occur when getting an authorization code for Kakao Login.

Error Code / Name Description Solution
KOE001 You used the wrong request parameters. Check the parameters in your request and use the right parameters.
KOE002 You have sent your request to the wrong URL. Check the URL you sent the request to and make a request again.
KOE003 Due to a temporary error in the Kakao OAuth server, the request is not completed. Try it again a few seconds later.
If the problem persists, contact us through DevTalk.
KOE004 Kakao Login is not activated. Go to [My Application] > [Kakao Login], and set Activation setting to ON.

Note: Activate Kakao Login
KOE005 A user who is not registered as a team member for a test app tries to log in. Invite the person as a team member in [My Application] > [Team Management].

Note: Manage team members
KOE006 You used an unregistered Redirect URI when requesting an authorization code. Go to [My Application] > [Kakao Login] and register the Redirect URI.
Or use the registered Redirect URI as the value of redirect_uri parameter for requesting an authorization code.

Note: Set Redirect URI
KOE007 You used an unregistered Logout Redirect URI when requesting logout. Go to [My Application] > [Kakao Login] > [Advanced] and register the Logout Redirect URI.
Or use the registered Logout Redirect URI as the value of logout_redirect_uri parameter for requesting logout.

Note: Set Redirect URI
KOE008 You used the wrong app key. Go to [My Application] > [App Keys] and check if the app key you used is correct (One of native app key, REST API key, or JavaScript key).

Note: Check your app keys
KOE023 JavaScript SDK Login by presenting popup consent screen is not available Use the Kakao.Auth.authorize function or update the JavaScript SDK to the latest version.
KOE101 You used the wrong app key, or the app key has a typo. Go to [My Application] > [App Keys] and check if the app key you used is correct.

Note: Check your app keys
KOE102
invalid_client
The channel_public_id parameter is included in your request even though any Kakao Talk Channel is not connected to your app.

Required PLUS_FRIENDS_ON_AGREEMENT_SUPPORTED permission
After connecting a Kakao Talk Channel to your app, make a request again.
KOE201
invalid_request
Unsupported response_type is included in the request for getting an authorization code.

Unsupported response type: {response_type}
Check if response_type is set to code. If not, change it to code.
KOE202
invalid_request
response_type is set to token.

Implicit grant Required OAUTH_IMPLICIT_GRANT_SUPPORTED permission
Change response_type to code.
KOE203
invalid_request
User have not agreed to 'Required consent' item on the Consent screen.

All required service terms must be approved.
required:{Service Term IDs} agreed:{Service Term IDs}
If you encounter this error, contact DevTalk.
KOE204
invalid_request
Invalid parameters are included in your request.

Invalid agreement_code: ${AGREEMENT_CODE}
Check the valid parameters in REST API > Get authorization code and make a request again with the valid parameters.
KOE205
invalid_scope
(A) You used the consent items that are not specified in [My Application] > [Kakao Login] > [Consent Items] as the scope parameters.

(B) You passed openid to scope even though you did not enable OIDC.

Invalid scope: ${SCOPE}
(A) Exclude the scopes that are not enabled in [My Application] > [Kakao Login] > [Consent Items] from your request.

(B) If you intergrate OpenID Connect (OIDC), activate OIDC, and then add openid to scope when requesting the requesting additional consent API. If you want to apply OAuth, exclude openid from scope.
KOE207
invalid_request
Required parameters are missing. Check the required parameters in REST API, and request again, including the required parameters.
access_denied User selected [Cancel] on the Consent screen instead of [Accept and Continue].

User denied access
Implement the subsequent process invoked when a user cancels the login, such as redirecting the user to the main page.
access_denied Users under age 15 can not use the app. Or failed to get parental consent for a user under age 15.

Not allowed under age 14
Implement the subsequent process, such as redirecting the user to the main page.
login_required The request for Auto-login (prompt=none) failed because a user authentication has not been completed.

user authentication required.
The user must log in with the Kakao Account.
consent_required The request for Auto-login (prompt=none) failed because the authorization server requires user consent but the user did not consent.

user consent required.

The user must consent on the Consent screen when logging with Kakao.
interaction_required The request for Auto-login (prompt=none) failed because the user has not provided user's required personal information.

need to collect additional personal information.
Implement the subsequent process, such as collecting additional user information.
interaction_required The request for Auto-login (prompt=none) failed because the user has not consented to the Kakao Comprehensive Terms and Conditions.

have to agree to kakao's terms of service.
Implement the subsequent process, such as requesting consent to the Kakao Comprehensive Terms and Conditions.
interaction_required The request for Auto-login (prompt=none) failed because the user's account is blocked.

account has been restricted.
The blocked user cannot use the Auto-login function. Request authorization code without passing prompt=none for the blocked user. Then, Kakao shows the blocked user the page indicating the user account is blocked.

Error about Access token

The list shows errors that may occur when getting an access token for Kakao Login.

Error Code / Name Description Solution
KOE101
invalid_client
You used the wrong app key, or the app key has a typo.

Not exist client_id ${CLIENT_ID}
Check if you pass the right app key of the app used for Kakao Login when you request an access token.
Go to [My Application] > [App Keys] and check if the app key you used is correct. Use 'JavaScript Key' to initialize JavaScript SDK and use 'Native app key' to initialize iOS or Android SDK. Use 'REST API Key' to make a REST API call.

Note: Check your app keys
KOE009
misconfigured
You requested an access token from the unregistered platform.

invalid android_key_hash or ios_bundle_id or web_site_url
Go to [My Application] > [Platform], and check if the platform (Web, Android, or iOS) is correctly set.

Note: Register platforms
KOE010
invalid_client
You did not pass client_secret or passed incorrect client_secret when requesting an access token from the app that activates the Client secret feature.

Bad client credentials
If the Client secret feature is activated, you must use the client_secret parameter. Otherwise, you cannot get an access token from the authorization server. Pass the Client secret code created in [My Application] > [Kakao Login] > [Security] as a value of the client_secret parameter.
KOE114
invalid_client
The value of client_id is different between Get authorization code and Get tokens. Use the code value issued with the same app to get tokens.
KOE303
invalid_grant
You used a different redirect_uri from the one used when requesting an authorization code.

Redirect URI mismatch.
Request an access token by using the same redirect_uri passed when requesting an authorization code.
KOE310
invalid_request
unsupported_grant_type
The value of grant_type is unsupported or missing. Request again with the supported value of grant_type.
KOE319
invalid_grant
You did not pass the refresh token when requesting to refresh tokens.

refresh token is blank
Pass the right refresh token issued when you request to renew tokens as the value of refresh_token.
KOE320
invalid_grant
You used the same authorization code twice or more, you used the expired authorization code, or the value of the authorization code is empty.

authorization code not found for code=${AUTHORIZATION_CODE}
You must use a new authorization code every time you request an access token. After getting a new authorization code, request an access token with the newly issued authorization code.
KOE322
invalid_grant
You used an expired refresh token, or the value of refresh_token is empty

expired_or_invalid_refresh_token
Get a new access token and a refresh token by using an authorization code.
invalid_request You used the wrong request parameters. Check the parameters in your request and use the right parameters.

Error about ID token

The list shows errors that may occur when getting an ID token information if you implement OpenID Connect for Kakao Login.

Error Code / Name Description Solution
KOE400
invalid_token
You did not pass id_token or passed wrong format of id_token when requesting to get an ID token information.

invalid id_token format
Check if the ID token passed in your request exactly matches the ID token issued through getting tokens.
KOE401
invalid_token
ID token is not issued from the Kakao authorization server (kauth).

invalid id_token issuer
The ID token must be issued from Kakao authorization server. Check if the value of iss in the JWT payload is https://kauth.kakao.com.
KOE402
invalid_token
Failed to validate the ID token due to wrong signature value.

invalid id_token
Check if the ID token passed in your request exactly matches the ID token issued through getting tokens.
KOE403
invalid_token
ID token expires.

id_token has expired
Get a new ID token by requesting the Refreshing tokens API.

Android

The list shows errors that may occur during the login process.

AuthError

Here are the errors defined in the AuthErrorCause class and solutions.

Error Description Solution
InvalidRequest The API request is not valid. Check if the parameter you requested is correct by referring to the development guide, and then make a request again with the valid parameters.
InvalidClient You used the wrong app key. Check if you used the correct Native app key to initialize the Android SDK.
Ensure that you must use the Native app key.
InvalidScope You used the scopes that are not specified in [My Application] > [Kakao Login] > [Consent Items] as the scope parameters. Check if you used correct scope ID, or enable the desired scope in [My Application] > [Kakao Login] > [Consent Items].
InvalidGrant Your refresh token has expired, or refresh token does not exist. Obtain new tokens through the login process.
Misconfigured The platform information registered in [My Application] > [Platform] is incorrect. Check if you registered your app information correctly in [My Application] > [Platform].
Check if the registered key hash values are correct.
Unauthorized You have no permission to request the API. Kakao Login API does not require any permission to call.
If you encounter this error, contact us through DevTalk.
ServerError Internal server error occurs. Try it again a few seconds later.
If the problem persists, contact us through DevTalk.
Unknown Unknown error occurs. If you encounter this error, contact us through DevTalk.

ClientError

Here are the client errors defined in the ClientErrorCause class, which may occur in the Android SDK.

Error Description Solution
TokenNotFound There is no token that can be used to request API. Obtain tokens through the login process.
NotSupported Kakao Talk is not installed or a browser is not available on a user's device to proceed Kakao Login. Inform a user of the status.
It is recommended to implement a process to install Kakao Talk or web browser.
BadParameter You request APIs with the wrong parameter. Check if the parameter you requested is correct by referring to the development guide, and then make a request again with the valid parameters.
Cancelled User canceled the login request. Implement the subsequent process when the user cancels the login, such as redirecting the user to the main page.
IllegalState This is an abnormal state. If you encounter this error, contact us through DevTalk.
Unknown Unknown error occurs. If you encounter this error, contact us through DevTalk.

Shipping address

Error information and solutions for shipping address are below. Refer to Reference for the errors of Retrieve shipping address API.

Error code

Error code Description
KAE003
INVALID_PARAMETER_ERROR
Invalid parameters are included in the request.
Solution: Request with correct parameters.
KAE102
APP_SCOPE_ERROR
The required consent item is not set in the app.
Solution: Set the [Shipping information] consent item in the app by reffering to How to use.
KAE103
PERMISSION_ERROR
Permission is required.
Solution: Request for app permissions to get the permission for [Shipping information].
KAE104
APP_KEY_TYPE_ERROR
Requested with the REST API key or the admin key.
Solution: Use one of the native app key or the JavaScript key depending on the type of Kakao SDK.
KAE201
AUTH_ERROR
The access token is not valid.
Solution: Reissue the access token and request again.
KAE202
NOT_REGISTERED_USER_ERROR
The user has not linked to the app.
Solution: Request Manual signup API and request again.
KAE203
INVALID_SCOPE_ERROR
The user exited the shipping address picker during the consent.
Solution: Request again or try Request additional consent.
KAE205
LOGIN_REQUIRED_ERROR
The user's Kakao account has been protected or banned.
Solution: Guide the user according to the error code.

User consent

To get the shipping address, the user must consent to the [Shipping information] consent item. If the user did not consent to the [Shipping information], the APIs work as follows.

  • Kakao SDK
    • Prompts the consent screen for [Shipping information] before response when the user selects a shipping address. (This function is provided regardless of Provision after collecting information)
    • Returns an error when the user denies consent for [Shipping information].
    • When using only Retrieve shipping address API, the response may not include the shipping address depending on the user's consent. Refer to No shipping address in the response.
  • REST API
    • The response of Retrieve shipping address API does not include shipping addresses and the value of shipping_addresses_needs_agreement is true. Refer to No shipping address in the response.

No shipping address in the response

The response of Retrieve shipping address API may not include shipping_addresses field.

{
  "user_id": 143458,
  "shipping_addresses_needs_agreement": true
}

In this case, check the value of shipping_addresses_needs_agreement field and take actions below.

  • true: The user did not consent to the [Shipping information] consent item. Refer to How to check which scope required consent.
  • false: Shipping addresses are not available.
    • Invalid shipping address ID: Request Select shipping address API to get a correct shipping address ID.
    • The user do not have shipping addresses: Request the user to input a shipping address in the service page.