Kakao Developers (2024)

This document walks you through frequently asked questions you may have when you integrate Kakao Login into your service.

If you cannot find such solutions or have further questions, visit the forum for developers called 'DevTalk' and feel free to ask questions. To change the DevTalk interface language to English, see How can I change the DevTalk interface language?.

While implementing Kakao Login

An error message appears while implementing login.

When an error occurs, you can figure out its cause through the error message in the response.

The errors that commonly occur when calling an API consist of the error code and error message. You can figure out its error type in each reference guide. If you encounter an error during the Kakao Login process, refer to Kakao Login > Troubleshooting.

"Invalid redirect" error occurs.

The "Invalid redirect" error often occurs when you first implement Kakao Login and request to receive an authorization code.

...error="invalid_grant", error_description="Invalid redirect:...

This error occurs when the Redirect URI set in [My Application] > [Kakao Login] > [Redirect URI] mismatches with redirect_uri used to request an authorization code. You must set Redirect URI used to get an authorization code before requesting this API. If you have already set it, check if the set Redirect URI is exactly the same with the redirect_uri that is returned through the error message.

A specific consent item is not displayed on the Consent screen.

Consent typeDescriptionSolution
Consent during useThis type of scope is not included on the Consent screen presented when a user attempts to log in for the first time.Request additional consent, and then the Consent screen that includes the scope with [Required] prefix is displayed when a user performs an action that requires the scope.
Required consentIf a user does not have the desired user information, the Required item is not displayed on the Consent screen even though you set the scope to 'Required consent'.Use the 'Provision after collecting information through Kakao Account' feature. This feature allows you to ask users to input the user information on the Consent screen and to get consent to the use of the information. Note that you cannot use this option for the phone_number scope.

How can I handle when Kakao Account user information is changed?

Except for ID issued for each user or CI as authentication information, all user information is subject to change all the time. To update with the latest information, request the Retrieving user information API once logging in.

Can I get user information set as 'Optional consent' item during the use of service?

Yes. you can get the user information by requesting additional consent. If the information is set to 'Optional consent' item and a user does not agree to provide the information during the Simple Signup process, you can request consent again when the user attempts to use a feature that requires the information. However, if a user refuses to provide the information, you must not allow the user to use the feature.

What are the types of user information that Kakao Login and Kakao Sync provides?

See User information to check all types of the user information that Kakao provides.

However, to retrieve user information:

  1. You must set consent items.
  2. Users must consent to provide the corresponding user information.

Can I use the Provision after collecting information option for phone numbers?

No. The Provision after collecting information option is not applicable for the 'Kakao account (phone number)' scope. Kakao gets a user's phone number saved in Kakao Talk linked to the user's Kakao Account. Thus, if a user does not use Kakao Talk, Kakao cannot get the user's phone number even though 'Kakao account (phone number)' is set to 'Required consent' item. In this case, you must collect a phone number separately in your service if phone numbers are required.

I cannot activate the Simple Signup function in [My Application].

The Simple Signup function is available only after your app passes the Kakao Sync review. To see more detailed conditions, see Set Simple Signup > Conditions.

Can I set the language applied to Consent screen?

A user's web browser language preference applies to the language displayed on the Kakao Login page and Consent screen.

If you want to specify a particular language for the Consent screen, pass the lang parameter when getting authorization code.

Supported languages

The supported languages for the Consent screen are as follows:

LanguageValue
Koreanko
Englishen
Japaneseja
Simplified Chinese characterszh
Sample Request for displaying English version
https://kauth.kakao.com/oauth/authorize?response_type=code&client_id=${REST_API_KEY}&redirect_uri=${REDIRECT_URI}&lang=en

After implementing Kakao Login

When tapping the Kakao login button, the Login screen to input Kakao Account information appears instead of Kakao Talk.

When tapping the Kakao Login button, it is supposed to launch the Kakao Talk app to log in through Kakao Talk. If the Login screen to input Kakao Account information appears, check if you specify the Auth Type. According to the specified Auth types, Kakao Login works differently, and users can log in with the following information:

  • All available authentication methods
  • Kakao Account and password
  • Kakao Talk user information

When using a REST API, users can log in with their Kakao Accounts and passwords only. On the other hand, the Kakao SDKs provide the following options:

PlatformParameterDescription
JavaScriptthroughTalkWhether to use Kakao Talk Simple Login (Boolean).
AndroidAuthTypeSet a type of user authentication. If not specified, KAKAO_LOGIN_ALL is applied.
KAKAO_TALK: Simple Login through Kakao Talk.
KAKAO_ACCOUNT: Login by inputting Kakao Account and password on a webView.
KAKAO_TALK_EXCLUDE_NATIVE_LOGIN: Simple Login through Kakao Talk. If any Kakao Account is not linked to Kakao Talk, a button to sign up for Kaka Account is provided. Cannot be duplicated with KAKAO_TALK.
KAKAO_LOGIN_ALL: Use all authentication types.
iOSauthTypeSet a type of user authentication. If not specified, nil is applied.
KOAuthTypeTalk: Simple Login through Kakao Talk.
KOAuthTypeAccount: Login by inputting Kakao Account and password on a webView.
nil: No option specified.

Because the SDK predefines a constant for each option above, you do not need to specify it separately.

The Consent screen does not appear.

If a user has already agreed by clicking [Accept and Continue] on Consent screen, the authorization code is issued without the Consent screen displayed. The Consent screen appears the first time when a user links with an app. To display the Consent screen again, unlink from an app and request an authorization code.

I am not returned to the service page or app after logging in through Kakao Talk.

If a user logs in with Kakao Talk on the mobile web but is not redirected to your service page or app, it is a normal phenomenon. According to policy on smartphone OS, an app is not allowed to load other apps arbitrarily. Thus, you need to guide users to go back to your service web page in person after the login on the login page. If the users are in logged-in state when they go back to your service page, it is normal.

Login is not completed after creating an account and attempting to re-login.

In the case of a web browser, to figure out if the user is successfully signed up,

  1. Check if the logged-in user's information is successfully stored in your service's member database.
  2. Retrieve the user information using the user's Service user ID (user_id) passed when the user is logged in.

For native apps, Kakao login authentication information is managed as a token. There are two types of tokens: an access token used to authenticate a user and a refresh token used to refresh your access token when it expires. Users can log in using the issued access token or refresh token before the tokens are expired as far as they have not logged out. Users do not need to verify user information with Kakao Talk or Kakao Account again during the token validity period.

Even though users are not logged out or tokens are not expired, users may fail to log in again using the tokens. In this case, check the followings:

  • Check if the token is valid. If the token is not valid, delete the token and let users log in again. If valid, go to the next step.
  • If the token is valid but you cannot log in normally, check the login process in the service. The signup process may not be completed or information may not have been updated normally.
  • If login fails due to an error that occurs during the authentication process, figure out its cause by referring to the error message.

I cannot log out.

If using a REST API, check the token information used to request logout.

In the case of the Kakao SDK, when requesting to log out, the SDK deletes your token and cookie, and then you are logged out regardless of the result of logout function. Thus, if you cannot log out, the failure may be caused by other issues, not related to the Logout API operation.

Can I log out of all devices that I am logged in at once?

No. As of now, this feature is not available. Kakao Account supports the multi-device feature, which means that you can log in with Kakao Account on multiple devices. Thus, if you request to log out, you are logged out of the only device that you are currently using, and the logged-in status remains on the rest devices.

When attempting to re-login after logout, I am logged in with the previous account.

When you attempt to log in with another account after logging out, you may be logged in with the previous account. This issue occurs when the logout process has not been completed normally or a cookie is still stored in your web browser. If a user is logged out successfully, the cookie is deleted along with the access token and the refresh token when using the iOS or Android SDK.

If you use a REST API, only the access token and the refresh token are deleted, and Kakao Account cookies still remain. In this case, you may be logged in with the previous account when you try to authenticate again. Thus, delete the cookie on the web browser, and then retry login.

Does a service user ID change when logging in again after logout?

No. The service user ID is issued to each service user as a unique identifier. Thus, your service ID does not change even when you log out or delete your service account.

When retrieving user information, some scope is empty.

Even when a user has agreed to provide user information through the Simple Signup process, a specific scope (user information) may be empty. That is because the user has never entered the information while using the Kakao service. In this case, you can use the Provision after collecting information through Kakao Account option in [My Application] > [Kakao Login] > [Consent items]. Then, Kakao collects the required user information from the user and provides it to your service.

If the Provision after collecting information option is disabled so some user information required for a service is missing, the user is required to input the information when attempting to log in later. Then, update the user information as the user inputs.

However, a user refuses to provide information to Kakao, the item is empty even though you enable this option because Kakao does not retain the information. If the information is required to use your service, you must ask a user to input the information in person during the use of the service or allow the user to cancel the signup.

Why cannot I retrieve specific user information with the 'Provision after collecting information through Kakao Account' option ON?

If the user has already agreed to provide the personal information to a third party before enabling this option, Kakao does not collect the user information even though the service requests consent again. Kakao can collect information after a user unlinks from the service and then re-logs in with Kakao Account.

Is there any way to know which personal information a user has agreed to provide?

Yes. If you use the Retrieving consent details API, you can check which consent items a user has agreed to among the scopes set in your app.

You can also use the Retrieving the user information API. Check its response that includes the scopes that the user has agreed to and {FIELD_NAME}_needs_agreement that indicates the corresponding scope requires additional consent.

Even though I set 'email' to 'Required consent' item, some users' email values are empty.

If you need user's email information but cannot retrieve,

  1. Check if you have enabled 'email' in the 'Consent items' menu. You must set it to 'Required consent' or 'Optional consent' to get users' email information.
  2. Check if the 'email' is included in the Consent screen that appears when logging in with Kakao. If 'email' is not enabled in the Consent item or a user does not save email information, email item is not displayed on the Consent screen.
  3. Check if the user's account has the email information. If the value of email_needs_agreement is true, the user has email information. In this case, request email information again after requesting additional consent.

If you must be provided the user's email information, set 'email' to a required scope and provision after collecting information. After setting, request additional consent, and retrieve user information again. However, if this method is not available, you must collect the user's email information by your own process.

Kakao Developers (2024)

FAQs

What does kakao mean in Korean? ›

It recently came out with an english version. Some friends have asked me, “what does kakao mean?” Well, I asked a Korean friend about it and he just said that it's the Korean word for cacao (/facepalms myself).

Can you use KakaoTalk internationally? ›

Is the service available worldwide? KakaoTalk is available in 230 officially registered international country codes. Please select the correct code for your country, then enter your phone number (without the country code), and then continue through the SMS verification process.

What is Kakao login? ›

Kakao Login is a function to use Kakao account to connect an application by issuing a token from user to use Kakao API. Users can click 'Kakao Login' to access the service.

Is KakaoTalk free? ›

KakaoTalk is free of charge with internet connection, wherever you are in the world. Engage in lively chat with friends with KakaoTalk's 1:1 and group chats. Send and receive chat and multimedia messages such photos, videos and more.

Can non Koreans use Kakao? ›

Foreign tourists can use Kakao T in South Korea without that app. Based on the global mobility aggregator platform Splyt, this service connects overseas users and the network of Kakao T app. Kakao Mobility provides real-time automatic translation for communication between drivers and passengers.

Do Koreans still use Kakao? ›

As of December 2023, around 97.5 percent of surveyed mobile messenger users in South Korea in their twenties answered to use KakaoTalk.

Why temporarily banned from KakaoTalk? ›

KakaoTalk automatically limits your account when suspicious activity is detected. During this time, you may still use most of the features of KakaoTalk, but certain features may not be available for use.

Which country uses KakaoTalk most? ›

The top three geographies of Kakao Talk for instant-messaging are the Korea with 4,758(78.15%), United States with 875(14.37%), Canada with 99(1.63%) customers respectively.

Do I need a Korean number to use KakaoTalk? ›

You don't need a Korean phone number to use Kakaotalk. You don't need a Korean phone number to call people in Korea using Kakaotalk. There is no need for you to need a Korean phone number for Kakaotalk.

How much does Kakao cost? ›

Kakao provides its Services free of charge, but some Services are provided at a cost. For example, you can exchange messages with your friends for free on KakaoTalk but may need to purchase some emoticons to be used on KakaoTalk.

How secure is Kakao? ›

Kakao meets national and international certification standards on user information protection activities and systems.

What is secret Chat Kakao? ›

Secret Chat is a feature that enhances the protection of user information by applying end-to-end encryption (End to End Encryption) technology.

Can Americans use KakaoTalk? ›

KakaoTalk has become an ingrained part of South Korean culture, but you can use it anywhere in the world.

Is Kakao better than WhatsApp? ›

The app is available on Android, iOS, BB OS and Windows phones. It trumps over WhatsApp because of its Offline chat facility, better sticker collection, hidden chat feature, and free messaging to non-Hike members. Not everyone must have heard about the KakaoTalk instant messaging app.

How does KakaoTalk make money? ›

KakaoTalk is a major messaging app in South Korea, competing with notable apps like WeChat. KakaoTalk is owned by Kakao Corp., which is a large South Korean company operating a variety of businesses. Its revenue streams include music, games, messaging apps, and other media.

Why is Kakao called Kakao? ›

Originally, the English name was intended to be "cacao talk," but the domain “cacao " was already registered, so it became "kakao talk" after Korea's k.

Why do Koreans use Kakao? ›

The reasons why KaKaoTalk so popular in Korea

Koreans pride that KakaoTalk is a Korean product, but it is also packed with useful and entertaining features. ▷​Send or receive images, videos, links, and documents. ▷​Participate in group conversations with an infinite number of users.

What is Kakao used for? ›

KakaoTalk (or KaTalk) is a popular messaging app in South Korea. It's a free mobile service that offers text messaging, voice and video calls, group chats and more. Though similar to Line or WeChat, KakaoTalk's actually been around for 12 years.

What is Kakao known for? ›

The company runs various internet services reaching into all industries, ranging from search engines to media, transportation, and finance. However, it is most well-known for its popular messenger service KakaoTalk.

Top Articles
Latest Posts
Article information

Author: Gov. Deandrea McKenzie

Last Updated:

Views: 5641

Rating: 4.6 / 5 (46 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Gov. Deandrea McKenzie

Birthday: 2001-01-17

Address: Suite 769 2454 Marsha Coves, Debbieton, MS 95002

Phone: +813077629322

Job: Real-Estate Executive

Hobby: Archery, Metal detecting, Kitesurfing, Genealogy, Kitesurfing, Calligraphy, Roller skating

Introduction: My name is Gov. Deandrea McKenzie, I am a spotless, clean, glamorous, sparkling, adventurous, nice, brainy person who loves writing and wants to share my knowledge and understanding with you.