Kakao
Sign in with Kakao accounts using OAuth 2.0. Popular in South Korea.
1. Create OAuth App
- Go to Kakao Developers.
- Log in with your Kakao account.
- Click My Application > Add Application.
- Enter the app name and company name, then create it.
- Go to App > Platform key > REST API key to find your credentials.
- Go to Kakao Login > General and enable Kakao Login.
- Go to App > Platform key > REST API key > Redirect URI and add your callback URL (see below).
- Go to Kakao Login > Consent Items and enable:
- Profile Info (nickname, profile image)
- Account Email — set to Required or Optional
2. Set Redirect URI
Add your EdgeBase callback URL under App > Platform key > REST API key > Redirect URI:
https://your-edgebase-url/api/auth/oauth/kakao/callback
For local development:
http://localhost:8787/api/auth/oauth/kakao/callback
Use the Kakao Login Redirect URI field for this. Do not register it under Business Authentication Redirect URI.
3. Get Credentials
In App > Platform key > REST API key:
- Client ID — Use the REST API Key.
- Client Secret — Open Client Secret, generate it, and set the activation status to Enable.
Do not use the separate Business Authentication code for EdgeBase's built-in kakao provider.
4. Configure EdgeBase
// edgebase.config.ts
export default defineConfig({
auth: {
allowedOAuthProviders: ['kakao'],
},
});
export default defineConfig({
auth: {
oauth: {
kakao: {
clientId: 'YOUR_REST_API_KEY',
clientSecret: 'YOUR_CLIENT_SECRET',
},
},
},
});
5. Usage
- JavaScript
- Dart/Flutter
- Swift
- Kotlin
- Java
- C#
- C++
client.auth.signInWithOAuth('kakao');
await client.auth.signInWithOAuth('kakao');
let url = client.auth.signInWithOAuth(provider: "kakao")
// Open url in SFSafariViewController or ASWebAuthenticationSession
client.auth.signInWithOAuth("kakao")
client.auth().signInWithOAuth("kakao");
client.Auth.SignInWithOAuth("kakao");
OAuth requires a browser redirect flow. For C++ (Unreal Engine), handle OAuth in a platform webview and pass the token to the SDK.
Provider Details
| Property | Value |
|---|---|
| Scopes | Configured via consent items (not URL scopes) |
| PKCE | No |
| Yes (if consent granted) | |
| Email verified | Conditional — uses is_email_verified field |
| Avatar | Yes — profile_image_url |
| Refresh token | Yes |
Notes
- Kakao uses a consent-based scope system. Scopes are configured in the developer console under Consent Items, not in the OAuth URL.
- Email verification status depends on the user's Kakao account settings. If
is_email_verifiedistrue, automatic account linking with existing email accounts will work. - User data is nested under
kakao_account.profilein the API response — EdgeBase handles this automatically. - For production, your app must pass Kakao's review process for certain consent items (like email).
- As of March 8, 2026, Kakao's console places REST API redirect URI and client secret under App > Platform key > REST API key.
- OpenID Connect in Kakao is optional. EdgeBase's built-in
kakaoprovider uses the standard OAuth authorize/token flow plushttps://kapi.kakao.com/v2/user/me, so you do not need to enable OpenID Connect unless you specifically want Kakao ID tokens. - Local verification was completed on March 8, 2026 against
http://localhost:8787/api/auth/oauth/kakao/callbackusing the js-web browser harness. The current result was2 passed / 7 skipped, which is expected when the signed-in Kakao account does not expose an email-backed/password-capable path in the harness.