myiam_firebase_flutter_sdk 0.1.1
myiam_firebase_flutter_sdk: ^0.1.1 copied to clipboard
MyIAM + Firebase 연동 SDK for Flutter. MyIAM 인증과 Firebase 서비스를 브릿지합니다.
myiam_firebase_flutter_sdk #
MyIAM 인증과 Firebase 서비스를 연결하는 Flutter SDK입니다.
MyIAM OAuth2 로그인 후 자동으로 Firebase Custom Token을 발급받아 Firestore, Storage 등 Firebase 서비스에 접근할 수 있게 합니다.
설치 #
dependencies:
myiam_firebase_flutter_sdk: ^0.1.0
사용법 #
import 'package:myiam_firebase_flutter_sdk/myiam_firebase_flutter_sdk.dart';
// Riverpod에서 통합 인증 상태 감시
final authState = ref.watch(firebaseAuthProvider);
switch (authState) {
FirebaseAuthLoading() => // 로딩
FirebaseAuthAuthenticated() => // 인증 완료 (MyIAM + Firebase)
FirebaseAuthUnauthenticated() => // 미인증
FirebaseAuthError() => // 에러
}
// 토큰 갱신
await ref.read(firebaseAuthProvider.notifier).refreshToken();
// 로그아웃 (MyIAM + Firebase 양쪽)
await ref.read(firebaseAuthProvider.notifier).logout();
동작 방식 #
myiam_flutter_sdk의authNotifierProvider를 감시- MyIAM 인증 성공 시 자동으로 Cloud Function(
mintFirebaseToken) 호출 - Firebase Custom Token 발급 →
signInWithCustomToken() - Firebase uid = MyIAM
service_user_uid
Cloud Function #
이 SDK는 서버 측에 mintFirebaseToken Cloud Function이 배포되어 있어야 합니다. 구현 예시는 with-firebase 샘플을 참고하세요.
커스터마이징 #
// Cloud Function 이름 변경
ProviderScope(
overrides: [
firebaseAuthBridgeProvider.overrideWithValue(
FirebaseAuthBridge(functionName: 'myCustomFunction'),
),
],
child: const MyApp(),
)