NaverProvider class

네이버 로그인 Provider

네이버 소셜 로그인을 위한 Provider입니다.

주요 제약사항

1. scope 미지원

네이버 SDK는 scope 파라미터를 지원하지 않습니다. 수집 항목은 네이버 개발자센터에서 직접 설정해야 합니다.

// ❌ scope 파라미터가 없음
NaverConfig(
  clientId: 'xxx',
  clientSecret: 'xxx',
  appName: 'My App',
  // scope: ['email', 'name'],  // 미지원!
)

2. 자동 토큰 갱신

네이버 SDK는 토큰을 자동으로 갱신합니다. refreshToken() 호출 시 현재 유효한 토큰을 반환합니다.

// SDK가 자동으로 갱신하므로 직접 갱신할 필요 없음
final result = await kAuth.refreshToken(AuthProvider.naver);
// 현재 유효한 토큰 반환

3. 플랫폼별 설정

Android (android/app/src/main/AndroidManifest.xml)

<application>
  <meta-data
    android:name="com.naver.sdk.clientId"
    android:value="YOUR_CLIENT_ID" />
  <meta-data
    android:name="com.naver.sdk.clientSecret"
    android:value="YOUR_CLIENT_SECRET" />
  <meta-data
    android:name="com.naver.sdk.clientName"
    android:value="YOUR_APP_NAME" />
</application>

iOS (ios/Runner/Info.plist)

<key>NidConsumerKey</key>
<string>YOUR_CLIENT_ID</string>
<key>NidConsumerSecret</key>
<string>YOUR_CLIENT_SECRET</string>
<key>NidAppName</key>
<string>YOUR_APP_NAME</string>
<key>LSApplicationQueriesSchemes</key>
<array>
  <string>naversearchapp</string>
  <string>naversearchthirdlogin</string>
</array>

토큰 구조

토큰 설명
accessToken OAuth 액세스 토큰
refreshToken SDK 내부 관리 (접근 불가)
expiresAt 토큰 만료 시간

사용 예제

final result = await kAuth.signIn(AuthProvider.naver);
result.fold(
  onSuccess: (user) {
    print('이름: ${user.displayName}');
    print('이메일: ${user.email}');
    print('프로필: ${user.avatar}');
  },
  onFailure: (failure) => print(failure.message),
);
Implemented types

Constructors

Properties

config NaverConfig
final
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

initialize() Future<void>
네이버 SDK 초기화 (별도 초기화 필요 없음)
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
refreshToken() Future<AuthResult>
네이버 토큰 갱신
override
signIn() Future<AuthResult>
네이버 로그인 실행
override
signOut() Future<AuthResult>
네이버 로그아웃
override
toString() String
A string representation of this object.
inherited
네이버 연결 해제 (탈퇴)
override

Operators

operator ==(Object other) bool
The equality operator.
inherited