Naver
Sign in with Naver accounts using OAuth 2.0. Popular in South Korea.
1. Create OAuth App
- Go to Naver Developers.
- Log in with your Naver account.
- Click Application > Register Application.
- Fill in:
- Application name: Your app name
- Usage API: Select Naver Login
- Required permissions: Check Email Address, Profile Image, Nickname, Name
- Under Login Open API Service Environment, select Web and add your callback URL (see below).
- Click Register.
2. Set Redirect URI
Set the Callback URL during registration:
https://your-edgebase-url/api/auth/oauth/naver/callback
For local development:
http://localhost:8787/api/auth/oauth/naver/callback
3. Get Credentials
After registration, go to your app's Overview page:
- Client ID — Displayed as the application's Client ID.
- Client Secret — Displayed as the application's Client Secret.
4. Configure EdgeBase
// edgebase.config.ts
export default defineConfig({
auth: {
allowedOAuthProviders: ['naver'],
},
});
export default defineConfig({
auth: {
oauth: {
naver: {
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET',
},
},
},
});
5. Usage
- JavaScript
- Dart/Flutter
- Swift
- Kotlin
- Java
- C#
- C++
client.auth.signInWithOAuth('naver');
await client.auth.signInWithOAuth('naver');
let url = client.auth.signInWithOAuth(provider: "naver")
// Open url in SFSafariViewController or ASWebAuthenticationSession
client.auth.signInWithOAuth("naver")
client.auth().signInWithOAuth("naver");
client.Auth.SignInWithOAuth("naver");
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 permission settings (not URL scopes) |
| PKCE | No |
| Yes | |
| Email verified | No — Naver does not provide email verification status |
| Avatar | Yes — profile_image |
| Refresh token | Yes |
Notes
- Naver does not provide email verification status, so EdgeBase sets
emailVerified: false. Automatic account linking with existing email accounts will not occur. - User data is nested under the
responseobject in the API response — EdgeBase handles this automatically. - Display name uses the
namefield if available, falling back tonickname. - For production use with users outside the developer's own account, the app must be reviewed and approved by Naver.
- Because the email is not marked verified, browser-harness checks such as password bootstrap, email round-trip, and TOTP may be skipped even when Naver sign-in itself succeeds.
- Local verification was completed on March 8, 2026 against
http://localhost:8787/api/auth/oauth/naver/callbackusing the js-web browser harness. The current result was2 passed / 7 skipped.