Skip to main content

Naver

Sign in with Naver accounts using OAuth 2.0. Popular in South Korea.

1. Create OAuth App

  1. Go to Naver Developers.
  2. Log in with your Naver account.
  3. Click Application > Register Application.
  4. Fill in:
    • Application name: Your app name
    • Usage API: Select Naver Login
    • Required permissions: Check Email Address, Profile Image, Nickname, Name
  5. Under Login Open API Service Environment, select Web and add your callback URL (see below).
  6. 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

client.auth.signInWithOAuth('naver');

Provider Details

PropertyValue
ScopesConfigured via permission settings (not URL scopes)
PKCENo
EmailYes
Email verifiedNo — Naver does not provide email verification status
AvatarYes — profile_image
Refresh tokenYes

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 response object in the API response — EdgeBase handles this automatically.
  • Display name uses the name field if available, falling back to nickname.
  • 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/callback using the js-web browser harness. The current result was 2 passed / 7 skipped.