k_auth 0.0.1 copy "k_auth: ^0.0.1" to clipboard
k_auth: ^0.0.1 copied to clipboard

한국형 소셜 로그인 Flutter 라이브러리. 카카오/네이버/구글/애플 OAuth를 Flutter에서 쉽게 구현.

K-Auth Flutter #

한국형 소셜 로그인 Flutter 라이브러리. 카카오/네이버/구글/애플 OAuth를 Flutter에서 쉽게 구현할 수 있습니다.

Next.js 버전: k-auth (예정)

설치 #

dependencies:
  k_auth: ^0.0.1
flutter pub add k_auth

빠른 시작 #

1. 초기화 #

import 'package:k_auth/k_auth.dart';

void main() {
  final kAuth = KAuth(
    config: KAuthConfig(
      kakao: KakaoConfig(appKey: 'YOUR_KAKAO_APP_KEY'),
      naver: NaverConfig(
        clientId: 'YOUR_NAVER_CLIENT_ID',
        clientSecret: 'YOUR_NAVER_CLIENT_SECRET',
        appName: 'Your App Name',
      ),
      google: GoogleConfig(),
      apple: AppleConfig(),
    ),
  );

  kAuth.initialize();
  runApp(MyApp());
}

2. 로그인 실행 #

// 통합 API 사용
final result = await kAuth.signIn(AuthProvider.kakao);

// 또는 개별 메서드 사용
final result = await kAuth.signInWithKakao();
final result = await kAuth.signInWithNaver();
final result = await kAuth.signInWithGoogle();
final result = await kAuth.signInWithApple();

// 결과 처리
if (result.success) {
  print('로그인 성공!');
  print('이름: ${result.name}');
  print('이메일: ${result.email}');
} else {
  print('로그인 실패: ${result.errorMessage}');
}

3. UI 버튼 사용 #

import 'package:k_auth/k_auth.dart';

// 개별 버튼
KakaoLoginButton(
  onPressed: () => kAuth.signInWithKakao(),
)

NaverLoginButton(
  onPressed: () => kAuth.signInWithNaver(),
)

GoogleLoginButton(
  onPressed: () => kAuth.signInWithGoogle(),
)

AppleLoginButton(
  onPressed: () => kAuth.signInWithApple(),
)

// 버튼 그룹
LoginButtonGroup(
  providers: [
    AuthProvider.kakao,
    AuthProvider.naver,
    AuthProvider.google,
    AuthProvider.apple,
  ],
  onPressed: (provider) => kAuth.signIn(provider),
)

Provider 설정 #

카카오 #

KakaoConfig(
  appKey: 'YOUR_KAKAO_NATIVE_APP_KEY',
  collectPhone: true,  // 전화번호 수집 시
  scopes: ['friends'], // 추가 scope
)

플랫폼 설정:

  • iOS: Info.plist에 URL Scheme 추가
  • Android: AndroidManifest.xml에 카카오 설정 추가

카카오 공식 문서

네이버 #

NaverConfig(
  clientId: 'YOUR_CLIENT_ID',
  clientSecret: 'YOUR_CLIENT_SECRET',
  appName: 'Your App Name',
)

플랫폼 설정:

  • iOS: Info.plist에 URL Scheme 추가
  • Android: AndroidManifest.xml에 네이버 설정 추가

네이버 공식 문서

구글 #

GoogleConfig(
  iosClientId: 'YOUR_IOS_CLIENT_ID',  // iOS만
  serverClientId: 'YOUR_SERVER_CLIENT_ID',  // 백엔드 연동 시
)

애플 #

AppleConfig()

애플 로그인은 iOS 13+, macOS에서만 지원됩니다.

API 레퍼런스 #

AuthResult #

프로퍼티 타입 설명
success bool 로그인 성공 여부
provider AuthProvider 로그인한 Provider
userId String? 사용자 고유 ID
email String? 이메일
name String? 이름
profileImageUrl String? 프로필 이미지 URL
accessToken String? 액세스 토큰
refreshToken String? 리프레시 토큰
errorMessage String? 에러 메시지 (실패 시)
errorCode String? 에러 코드 (실패 시)
rawData Map? 원본 응답 데이터

KAuth 메서드 #

메서드 설명
initialize() SDK 초기화
signIn(provider) 소셜 로그인
signInWithKakao() 카카오 로그인
signInWithNaver() 네이버 로그인
signInWithGoogle() 구글 로그인
signInWithApple() 애플 로그인
signOut(provider) 로그아웃
unlink(provider) 연결 해제 (탈퇴)

에러 처리 #

모든 에러 메시지는 한국어로 제공됩니다.

final result = await kAuth.signIn(AuthProvider.kakao);

if (!result.success) {
  switch (result.errorCode) {
    case ErrorCodes.userCancelled:
      // 사용자가 로그인을 취소했습니다.
      break;
    case ErrorCodes.networkError:
      // 네트워크 오류가 발생했습니다.
      break;
    case ErrorCodes.providerNotConfigured:
      // 해당 Provider가 설정되지 않았습니다.
      break;
    default:
      print(result.errorMessage);
  }
}

라이선스 #

MIT License

6
likes
0
points
723
downloads

Publisher

unverified uploader

Weekly Downloads

한국형 소셜 로그인 Flutter 라이브러리. 카카오/네이버/구글/애플 OAuth를 Flutter에서 쉽게 구현.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, flutter_naver_login, flutter_secure_storage, google_sign_in, kakao_flutter_sdk, sign_in_with_apple

More

Packages that depend on k_auth