Home

Login with Kakao

To enable Kakao Auth for your project, you need to set up an Kakao OAuth application and add the application credentials to your Supabase Dashboard.

Overview#

Kakao OAuth consists of six broad steps:

  • Create and configure your app in the Kakao Developer Portal.
  • Obtaining a REST API key - this will serve as the client_id.
  • Generating the Client secret code - this will serve as the client_secret.
  • Additional configurations on Kakao Developers Portal.
  • Add your client id and client secret keys to your Supabase Project.
  • Add the login code to your Supabase JS Client App.

Access your Kakao Developer account#

Kakao Developers Portal.

Create and configure your app#

  • Go to My Application.
  • Click on Add an application at the top.
  • Fill out your app information:
    • App icon.
    • App name.
    • Company name.
  • Click Save at the bottom right.

Obtain a REST API key#

This will serve as the client_id when you make API calls to authenticate the user.

  • Go to My Application.
  • Click on your app.
  • You will be redirected to Summary tab of your app.
  • In the App Keys section you will see REST API key -- this ID will become your client_id later.

Find your callback URL#

The next step requires a callback URL, which looks like this: https://<project-ref>.supabase.co/auth/v1/callback

  • Go to your Supabase Project Dashboard
  • Click on the Authentication icon in the left sidebar
  • Click on Providers under the Configuration section
  • Click on Kakao from the accordion list to expand and you'll find your Redirect URL, you can click Copy to copy it to the clipboard
- To add callback URL on Kakao, go to Product settings > Kakao Login > Redirect URI.

Generate and activate a client_secret#

  • Go to Product settings > Kakao Login > Security.
  • Click on the Kakao Login switch to enable Kakao Login.
  • Click on generate code at the bottom to generate the Client secret code -- this will serve as a client_secret for your supabase project.
  • Make sure you enabled Client secret code by selecting enable from the Activation state section.

Additional configurations on Kakao Developers Portal#

  • Make sure the Kakao Login is enabled in the Kakao Login tab.
  • Set following scopes under the "Consent Items": account_email, profile_image, profile_nickname

Consent items needs to be set.

Add your OAuth credentials to Supabase#

  • Go to your Supabase Project Dashboard
  • In the left sidebar, click the Authentication icon (near the top)
  • Click on Providers under the Configuration section
  • Click on Kakao from the accordion list to expand and turn Kakao Enabled to ON
  • Enter your Kakao Client ID and Kakao Client Secret saved in the previous step
  • Click Save

Add login code to your client app#

When your user signs in, call signInWithOAuth() with kakao as the provider:


_10
async function signInWithKakao() {
_10
const { data, error } = await supabase.auth.signInWithOAuth({
_10
provider: 'kakao',
_10
})
_10
}

When your user signs out, call signOut() to remove them from the browser session and any objects from localStorage:


_10
async function signOut() {
_10
const { error } = await supabase.auth.signOut()
_10
}

Resources#