로그인 에뮬레이터 연결을 Firestore · Functions 까지 확장 · 가입 시 계정 문서 생성 왕복 시험
This commit is contained in:
@@ -1,7 +1,11 @@
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
import 'package:cloud_functions/cloud_functions.dart';
|
||||
import 'package:firebase_auth/firebase_auth.dart';
|
||||
import 'package:firebase_core/firebase_core.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
||||
import '../data/backend.dart';
|
||||
|
||||
/// Firebase 구동 모드.
|
||||
enum FirebaseMode {
|
||||
/// 설정 파일이 투입돼 Firebase 가 실제로 초기화된 상태.
|
||||
@@ -46,8 +50,9 @@ abstract final class FirebaseBoot {
|
||||
|
||||
/// 에뮬레이터 호스트. `--dart-define=FANUZU_EMULATOR_HOST=127.0.0.1` 로 켠다.
|
||||
///
|
||||
/// **왜 두는가** — 실 Firebase 프로젝트가 열리기 전에도 로그인이
|
||||
/// 실제로 도는지 확인할 수 있어야 한다.
|
||||
/// **왜 두는가** — 실 Firebase 프로젝트가 열리기 전에도 로그인·원장·규칙이
|
||||
/// 실제로 도는지 확인할 수 있어야 한다. 설정 파일을 기다리는 동안 이 경로가
|
||||
/// 없으면 서버 코드가 한 줄도 실행되지 않은 채 쌓인다.
|
||||
///
|
||||
/// 릴리스 빌드에서는 열리지 않는다. 배포된 앱이 로컬 호스트를 바라보면
|
||||
/// 아무것도 동작하지 않고 원인도 보이지 않는다.
|
||||
@@ -89,6 +94,9 @@ abstract final class FirebaseBoot {
|
||||
try {
|
||||
await Firebase.initializeApp(options: _emulatorOptions);
|
||||
FirebaseAuth.instance.useAuthEmulator(emulatorHost, 9099);
|
||||
FirebaseFirestore.instance.useFirestoreEmulator(emulatorHost, 8080);
|
||||
FirebaseFunctions.instanceFor(region: Backend.region)
|
||||
.useFunctionsEmulator(emulatorHost, 5001);
|
||||
_mode = FirebaseMode.live;
|
||||
_reason = '로컬 에뮬레이터에 연결했습니다. 실 서버가 아닙니다.';
|
||||
_detail = 'emulator host: $emulatorHost';
|
||||
|
||||
Reference in New Issue
Block a user