NaverProvider class
네이버 로그인 Provider
네이버 소셜 로그인을 위한 Provider입니다.
주요 제약사항
1. scope 미지원
네이버 SDK는 scope 파라미터를 지원하지 않습니다. 수집 항목은 네이버 개발자센터에서 직접 설정해야 합니다.
- 설정 위치: 애플리케이션 > API 설정 > 회원이름/연락처 등
- 문서: https://developers.naver.com/apps
// ❌ 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
-
unlink(
) → Future< AuthResult> -
네이버 연결 해제 (탈퇴)
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited