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

Kakao Login

Prerequisites

This document explains what you have to do before integrating Kakao Login.

Tag used in this document
Tag Description
Required You must apply the settings marked with this tag before integrating Kakao Login into your service.
If this tag is not attached, you can optionally apply the setting depending on the functions you want to use.

To integrate Kakao Login into your service, you MUST:

  1. Activate Kakao Login.
  2. Register redirect URI.
  3. Set consent items.

You can additionally adopt other optional functions.

Kakao Login

Activate Kakao Login Required

Kakao Login is an essential function to leverage user-based services such as Kakao Sync, or Kakao Talk. Refer to Kakao Login to learn more about Kakao Login.

To activate Kakao Login,

  1. Go to [My Application] > [Kakao Login].
  2. Set 'State' to 'ON' under 🅐Kakao Login Activation on the Kakao Login page.
Note: Preview consent screen

After setting consent items, you can preview the Consent screen as configured in consent items by clicking 🅒Preview the Consent screen.

How to activate Kakao Login

Advanced: Activate OpenID Connect

If you want to integrate Kakao Login with OpenID Connect, you must also set 'State' to 'ON' under 🅑OpenID Connect Activation.

Set Redirect URI Required

A Redirect URI is an essential factor in serving Kakao Login service because the Kakao server and a service server exchange information through the Redirect URI to proceed Kakao Login based on OAuth 2.0.

The Kakao server passes authentication information needed for a service to Redirect URI, and the service proceeds the information received through Redirect URI to makes the next request. If Redirect URI is not specified, an error occurs when logging in with Kakao.

How to set Redirect URI

You can set Redirect URIs in [My Application] > [Kakao Login] > [Redirect URI]. When you register Redirect URIs, you must comply with the following rules:

  • Redirect URI supports HTTP (80 port) and HTTPS (443 port) protocols.
  • You must add HTTP and HTTPS schemes separately because the Redirect URIs are sensitive to HTTP and HTTPS protocols.
  • You can set Redirect URIs up to 10. To set more than 10 Redirect URIs, request permission by referring to set wildcard subdomains.

You MUST NOT specify parameters in Redirect URI path. If you need to keep or send specific information, use state value by referring to Kakao Login > REST API.

Preview the Consent screen

You can check the components of the consent screen that users will see during actual Kakao Login by clicking [Preview the Consent screen] under [My Application] > [Kakao Login].

Preview the Consent screen

Consent items Required

You can configure the usage and consent level by clicking [Set] for each Consent item under [My Application] > [Kakao Login] > [Consent Items]. The Personal information consent items are configured under [Personal Information], while the Access permission consent items are configured under [Permission].

Consent item settings screen

🅐 Consent level: Refer to Personal information consent items and Access permission consent items for available consent levels and how to obtain permission.
🅑 Provision after collecting information through Kakao Account: Configure whether to use this option.
🅒 Purpose of consent: Reference information about the purpose of the consent item, which is not displayed on the Kakao Login consent screen.

The consent item settings of the app are reflected in the Kakao Login consent screen. Below is an example of a consent screen that includes 🅐 [Required consent] and 🅑 [Optional consent] items. The actual consent screen reflecting the app’s settings can be previewed in Preview the Consent screen.

Example of consent level display

Set Simple Signup

To use Easy Signup, set [Status of use] to [ON] in [My Applications] > [Kakao Login] > [Simple Signup] after Set Kakao Talk Channel. When [Status of use] is set to [ON], the Kakao Login consent screen includes the terms of service and you can set the terms of service for your app.

Status of use

You can activate the Simple Signup function to manage the service terms in the following conditions:

After turning Simple Signup to ON, you can add a new service term or manage the registered service term. Note that at least one se terms.

Add a new service term

You can register a new service terms by clicking [Add Terms of Service] in the 'Simple Signup' section.

Dialog box for adding terms

🅐 Term's title: Input the title of service terms both in Korean and English. The service terms in English are used when a language on a user device is set to English. Even though you do not have the English version of service terms, you should input at least the English title with alphabets, numbers, space, and special characters only available to type with a keyboard. (100 characters allowed) 🅑 Term's URL: Input the URL of a web page where service terms can be checked. For optional service Terms, you do not have to input URLs. 🅒 Term's condition: Select either 'Required consent item' or 'Optional consent item'. For the Required consent item, users must consent when signing up. For the Optional consent item, users can consent optionally or additionally according to services. 🅓 Term's TAG: Tags are used to check the consented status by service terms in Check the consented service terms and required to use Getting consent to desired service terms feature. You can add the tags that can be used for actual service development. For tags, you can only enter alphabets, numbers, hyphen(-), and underscore(_). It is recommended to input tags in Keyword_date, Keyword_order of service terms format.

When you register a new service term, the service term is set to inactive status by default. Thus, to use the service term in your service, you must activate the service term by clicking [Activate].

You can preview the Consent screen to be displayed in the actual service by clicking [Preview the Consent screen]. If there is any missing or incorrect information, modify the service terms.

Preview of Consent screeen for Simple Signup

Manage registered service terms

How to manage the registered service terms

🅐 Activate/Inactivate: Select whether to display each service term on the Simple Signup Consent screen. For the service term that you do not want to use, click [Inactivate] on the upper right corner of the service term. Conversely, click [Activate] if you want to make the previously registered service term displayed on the Consent screen. 🅑 Modify: To modify the service terms that have already been registered, click [Modify] on the upper right corner of the service term you want to modify. Only when there is a change compared to the existing registered information, the [Save] button is activated. 🅒 Change order: To change the order of the service terms displayed on the Simple Signup Consent screen, click [Change Order] on the right side of the 'Simple Signup' section, and then select a number for each service term's order. After setting the orders, click [Save].

Dailog box for changing the order of terms

Caution on service terms

The functions related to agreeing to, viewing, and withdrawing from the service terms provided by Kakao Sync Simple Signup are for user expression to the service, not Kakao. Therefore, the Service must recognize that the Service is solely responsible for the management and use of the app's service terms and operate it so as not to cause damage.

The service terms registered in the app must be the same as the actual service terms. If the registered service terms differ from the actual service terms or are false, the app may be restricted from using Kakao Sync.

Set Kakao Talk Channel

Connect Kakao Talk Channel

1. Confirm qualifications

Login with an account that has OWNER or EDITOR role for the app, and select [Confirm qualifications] from [My application] > [Request for App Permissions]. You need to check the contents and agree.

Confirm qualifications screen
2. Connect Kakao Talk Channel

If you request to connect to a Kakao Talk Channel from the List of app permissions in [Request for app permissions] > [App permissions], the Connectable Kakao Talk Channels will appear in the list. Select [Connect] with the desired channel to connect.

Kakao Talk Channel connection screen

You can check the connected channels in Manage Kakao Talk Channel connection and disconnect them if necessary.


Note: Connectable Kakao Talk Channels

You can connect Kakao Talk Channels to your app that meet the below conditions

  • Channels with master or manager permissions
  • Channels that have been upgraded to Business channel by verifing business information (The Business channels that are using Kakao services such as Talk Store, registration is required in [Management] > [Apply for business channel] in Kakao Talk Channel Manager Center)
  • Channels with the same business information as the app
  • Channels that are not connected to an app

Create a new Kakao Talk Channel

If you have not created any Kakao Talk Channel, create a new one as follows:

  1. Select '새 채널 만들기(Create a new Channel)' in the Kakao Talk Channel Admin Center. How to create a Business Channel
  2. Set 채널 이름(Kakao Talk Channel name), 검색용 아이디(ID for search purpose), 카테고리(category), and other information. Page for creating a new channel

After creating an new Kakao Talk Channel, request for upgrade the channel to a Business channel. Make sure to log in to Kakao Talk Channel Admin Center with the account that has a Master role of Kakao Talk Channel to be connected to a Kakao Sync service.

For more details, refer to Creating a channel(채널 만들기) in Kakao Business.

Upgrade to Business channel

To use Kakao Sync, you need to upgrade your Kakao Talk Channel to a Business Kakao Talk Channel ("Business Channel") by registering a business registration number. Only the Master account that creates the Kakao Talk Channel can upgrade to a Business channel.

  1. Log in Kakao Talk Channel Admin Center with the Master account that refers to a Kakao Account used to create the channel.
  2. In [채널(Channel)] menu at the top, select the Kakao Talk Channel that you want to upgrade to a Business channel, and then click [신청하기(Apply)] in [관리(Management)] > [비즈니스 채널 신청(Apply Business Channel)]. Kakao Talk Channel Admin Center page for applying Business Channel
  3. For the request, submit the following certificates:
    - Certificate of Business Registration
    - Certificate of Employment or ID card of Representative
    - Registration certificates (only for a mail-order business, medical device sales, and health functional food sales business)

After you request a review, it takes 3 to 5 days in business days for approval. If the information of the channel does not match the documents you submitted, or you have not submitted the required document, your request may be rejected. Refer to Business Channel Request Guide for more detailed information.

Set a primary channel

To allow users to add your Kakao Talk Channel connected to your app when logging in, you must set a primary channel as follows:

  1. Register your service's business registration number to switch your app to a Biz app.
  2. Switch your Kakao Talk Channel to a Business channel so that users can allow to add your Kakao Talk Channel on the Consent screen.
  3. Connect your Biz app and Business channel set in Step 1 and Step 2.
  4. Go to [My Application] > [Kakao Login] > [Kakao Talk Channel], and then click [Select a primary channel].
  5. Select one of the business channels connected to your app as a primary channel to be displayed on the Kakao Login Consent Screen.

You can set only one primary channel among the connected business channels.

How to set a primary Kakao Talk Channel

To change the primary channel, click [Modify] and select another business channel.

Kakao Talk Channel page for modifying channel information

The selected primary channel is displayed on the Kakao Login Consent screen as follows.

How the primary Kakao Talk Channel is displayed on the Consent screen

Check Kakao Talk Channel relationship

To use the Checking Kakao Talk Channel relationship feature, you must get consent from users. To do so,

  1. Go to [My Application] > [Kakao Login] > [Consent Items].
  2. Set 'Kakao Talk Channel addition status and details' to 'Required consent' or 'Optional consent'.
How to set the 'Kakao Talk Channel addition status and details' scope
How can I set 'Kakao Talk Channel addition status and details' to 'Required Consent'?

To set 'Kakao Talk Channel addition status and details' to 'Required Consent', your biz app and business channel must be connected. To see how to connect them, Kakao Sync > Connect app to channel.

Transfer personal information overseas

This setting is required for the service that transfers users' personal information overseas.

According to Personal Information Protection Act, Article 39-12 (Protection of Information Transferred Overseas), if your service provides, outsource the processing of, or transfers users' personal information obtained through the Kakao APIs to other countries, you must notify users of the followings in advance and obtain user's consent to transferring personal information overseas.

  • Particulars of the personal information to be transferred
  • The country to which the personal information is transferred, transfer date and method
  • Name of the entity to which the personal information is transferred (For a corporation, the name of a corporation and the contact information of the person responsible for the management of information)
  • The purpose of using personal information by the entity to which the information is transferred and the period of retaining and using personal information

Transferring personal information overseas means the following cases.

  • If a domestic company (in Korea) intends to transfer user information stored in Korea to a third country.
  • If an overseas company (outside Korea) intends to retrieve, store, or process the user information stored in Korea.

If your service corresponds to either of the cases above, you must register the information related to the transfer of personal information overseas.

How to register information related to the transfer of personal information overseas
  1. Go to [My Application] > [Kakao Login] > [Transfer of Personal Information Overseas].
  2. Click [Register Information].
  3. Enter the required information.
    🅐 Country where personal information is stored: Enter the country where personal information is transferred to.
    🅑 Corporation name (company): Enter the name of a corporation to which the personal information is transferred.
    🅒 Contact: Enter the contact information such as email or phone number of the person responsible for the management of information, or customer center URL.

After registering the information above, the 'Consent to the Transfer of Personal Information to Foreign Parties' item is included as a Required item in the Consent screen. Users can see the detailed information which is registered in [Transfer of Personal Information Overseas] by selecting [view more] and consent to the transfer of personal information overseas.

The 'consent to the transfer of personal information to foreign parties' item displayed on the Consent screen

Set unlink webhook

The Unlink webhook is an optional function to send you a webhook in the following situations:

  • Users unlink their accounts with respective service apps in [Use Your Account] > [Manage connected services] on the Kakao Account page or in [Settings] > [Kakao Account] > [Manage connected services] on the Kakao Talk application.
  • Users have not completed a signup process.

To use this feature, you must designate a webhook URL to receive unlink webhooks. Ensure that the unlink webhook address only supports HTTPS over 443 port due to security issues because the request includes a Service user ID.

How to register unlink webhook
  1. Go to the [My Application] > [Kakao Login] > [Unlink], and click [Register Webhook].
  2. Set a webhook URL to receive and process webhooks that are sent when users request to unlink from your app.
    🅐 Domain: Input a site domain used to receive webhooks. The domain for unlink webhook supports HTTPS only.
    🅑 Method: Select a method to request webhooks between GET and POST.
    🅒 Path: Input a path used to receive webhooks.
  3. Implement a function to receive and process the webhook request that the Kakao server has made by referring to Unlink webhook.

After setting the unlink webhook, you can see the detailed webhook information under 'Webhook Information' and 'Enabled' in 'Activation status' as follows:

How to change unlink webhook

You can 🅐delete or 🅑modify the registered unlink webhook information.

You can also disable the unlink webhook function for a while. To disable this function, click 🅒[Set] in 'Activation status' and then select the [Disable] option in the Activate webhook dialog. Only the Owner or Editor account can disable this function.

Note

Kakao may disable the unlink webhook function that your service has enabled in the following cases: - If your service does not respond to the unlink webhooks - If all webhooks are caused by the errors In either case, Kakao notifies the fact of you and yourr team members with some advice and changes its status to 'Paused'.

If you want to activate the unlink webhook function, modify the way how your service implements the unlink webhook by referring to the email sent from Kakao Developers, and then activate this function by selecting [Set] > [Enable].

Depending on whether to use the Unlink feature in your service, the buttons on the Manage connected services page are differently displayed to users. See Disconnect vs. Delete All Data.

Account status change webhook

To use Account status change webhook, you need to set it in [My application] > [Kakao Login] > [Account Status Change Webhook].

Change event page

Select [Register Webhook] to enable the feature and set details.

Change event setting

🅐 Activation status: Select [Activate] to enable Account status change webhook. 🅑 Webhook URL: Set a webhook URL of your service that receives Account status change event information. The domain for the webhook supports HTTPS only. 🅒 Change Event: Select Change event types of each category. ⓐ Categories: Select a desired category. Provided only to the app with permission. ⓑ Types: Select desired change event types.

Below is an example after setting.

Change event setting example

🅐 Click to delete or modify the current settings. 🅑 Click if you want to test webhooks. 🅒 Registered webhook URL and status are displayed. 🅓 Activation status by Event type is displayed.

Manage user properties

To store user data required for your service, add a custom user property. User property refers to a function to store some of service information in the Kakao platform. Kakao does not access and store the data in the service server but provides a feature to store some of user information on the Kakao platform and retrieve the information through the Retrieving user information API as needed.

To register property keys,

  1. Go to [My Application] > [Kakao Login] > [User Properties].
  2. Click [Add property key], and specify its name. You can add up to 5 property keys more for each service besides the reserved keys.
User Properties page

🅐 Account information: Shows the ID, linked status, and linked date of the team members who are linked to your app. 🅑 Reserved property: Shows the property keys assigned by default. You cannot use the reserved property keys as a property key name. 🅒 User property: Shows the custom user property keys that you added. The property values are displayed in the column of the corresponding team member.

Policy change on the user properties related to user profile

After May 12, 2022, Kakao Account's profile information is reflected in real time to the property keys: 'profile_image', 'thumbnail_image', and 'nickname'. Thus, you cannot update the user profile saved in a service through these property keys by calling the Storing user information API. For more details, refer to Notice. If your service needs to keep using these property keys, contact us via DevTalk.

To update the user information, call the Storing user information API by passing the added or checked property keys with the user data.

To check the updated user information, call the Retrieving user information API by referring to each development guide.

Enhance security

Client Secret

When you use a REST API, you can use a Client secret code to enhance security.

Client secret page

To use this feature,

  1. In [My Application] > [Kakao Login] > [Security], select [Generate code], then a client secret code is generated.
  2. Select [Set] in Activation state, and change the state to 'Use'.
  3. When requesting the Getting tokens and the Refreshing tokens APIs, add the issued client secret code with the client_secret parameter.

You must add the client_secret parameter if 'Client Secret' is activated on this page. Otherwise, the token is not issued from the authorization server.

Caution

We highly recommend regularly changing the Client secret code every two years or less.

Note: How to change Client Secret for service in operation
  1. Change [Activation state] to [Disabled].
  2. Click [Reissue] to get a new Client Secret code.
  3. Apply the new Client Secret code to the service.
  4. Change [Activation state] to [Enable].

Advanced

Set Logout Redirect URI

This is optional function used for Logout of service and Kakao Account, an add-on feature to Kakao Logout. If you want to use this feature, go to [My Application] > [Kakao Login] > [Advanced] > [Logout Redirect URI] and set Logout Redirect URIs.

Logout Redirect URI page

When you register Logout Redirect URIs, you must comply with the following rules:

  • Logout Redirect URI allows HTTP/HTTPS protocols and 80/433 ports.
  • You must register HTTP and HTTPS protocols respectively as Logout Redirect URI is sensitive to schemes.
  • You can register up to 10 Logout Redirect URIs. If you want to register more than 10 URIs, ask DevTalk.

Refer to REST API guide to see how to leverage this feature.