데이터에 접근하려는 유저를 확인하기 위해서 로그인 기능이 필요하다.
시작하기 클릭!
다양한 방법중에 이메일 / 비밀번호로 해보려고한다.
저장버튼을 누르면 아래의 화면이 된다~~
즉 설정이 끝났다는뜻임!!
lib > auth_service.dart 파일 생성
auth_service.dart
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
class AuthService extends ChangeNotifier {
User? currentUser() {
// 현재 유저(로그인 되지 않은 경우 null 반환한다~~!!)
}
void signUp({
required String email, // 필수입력값 : 이메일
required String password, // 필수입력값 : 비밀번호
required String onSuccess, // 가입 설공시 호출되는 함수
required Function(String err) onError, // 에러 발생시 호출되는 함수
}) async {
// 회원가입
}
void signIn({
required String email,
required String password,
required String onSuccess,
required Function(String err) onError,
}) async {
// 로그인
}
void signOut() async {
// 로그아웃
}
}
main.dart
import 'package:bucketlist/auth_service.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized(); // main 함수에서 async 사용하기 위함
await Firebase.initializeApp(); // firebase 앱 시작
runApp(
MultiProvider(
providers: [
ChangeNotifierProvider(
create: (context) => AuthService(),
),
],
child: const MyApp(),
),
);
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return Scaffold();
}
}
일단 오늘은 여기까지...
main.dart 는 이대로 실행하면 오류난다.
왜냐하면 실행하고자하는 MyApp 을 MaterialApp 으로 안 감쌋기때문이다.
감싸주면잘된다~~