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.