[flutter] Firebase_core를 사용하여 플러터 앱에서 Firebase 인증 메일 전송하기

Firebase는 Google에서 제공하는 개발 플랫폼으로, 앱 개발에 필요한 여러 기능들을 제공합니다. Firebase 인증은 이 중 하나로, 사용자 인증과 관련된 기능들을 쉽게 구현할 수 있도록 도와줍니다. 이번에는 Firebase 인증을 사용하여 플러터 앱에서 Firebase 인증 메일을 전송하는 방법에 대해 알아보겠습니다.

1. Firebase 프로젝트 설정

먼저 Firebase 콘솔에서 프로젝트를 생성하고, 인증 기능을 활성화해야 합니다. Firebase 콘솔에 접속하여 프로젝트를 생성하고, 인증 기능을 활성화합니다. 이후에는 “웹 앱에 Firebase 추가” 버튼을 클릭하여 Firebase 구성 정보를 가져옵니다.

2. Flutter 프로젝트에 Firebase 연동

Flutter 프로젝트에 Firebase를 연동하려면, pubspec.yaml 파일에 firebase_corefirebase_auth 의존성을 추가해야 합니다. 아래와 같이 pubspec.yaml 파일을 수정합니다:

dependencies:
  flutter:
    sdk: flutter
  firebase_core: ^1.0.1
  firebase_auth: ^2.1.2

수정 후 터미널에서 flutter pub get 명령을 실행하여 의존성을 설치합니다.

3. Firebase 앱 초기화

Firebase 인증을 사용하기 위해 앱을 초기화해야 합니다. main.dart 파일에서 아래 코드를 추가합니다:

import 'package:firebase_core/firebase_core.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

await Firebase.initializeApp(); 코드를 통해 Firebase 앱을 초기화합니다.

4. 인증 메일 전송하기

이제 Firebase를 사용하여 인증 메일을 전송할 수 있습니다. 예를 들어, 회원 가입 시 사용자에게 확인 이메일을 보내는 기능을 구현해보겠습니다. 아래 코드는 Firebase 인증 메일을 전송하는 함수입니다:

import 'package:firebase_auth/firebase_auth.dart';

Future<void> sendEmailVerification() async {
  User? user = FirebaseAuth.instance.currentUser;
  
  if (user != null) {
    await user.sendEmailVerification();
    print('Verification email sent to ${user.email}');
  } else {
    print('User not signed in');
  }
}

함수 내에서 FirebaseAuth.instance.currentUser를 통해 현재 로그인 된 사용자를 가져옵니다. 그리고 user.sendEmailVerification()를 사용하여 인증 메일을 전송합니다. 성공적으로 메일이 전송된 경우 Verification email sent to {이메일}이 출력됩니다.

위의 함수를 호출하여 사용자가 회원 가입을 마치면 인증 메일을 전송할 수 있습니다:

// 회원 가입 완료 후 인증 메일 전송
await sendEmailVerification();

결론

이제 Firebase를 사용하여 플러터 앱에서 Firebase 인증 메일을 전송하는 방법을 알아보았습니다. Firebase의 다양한 인증 기능을 활용하여 사용자 인증을 보다 쉽게 구현할 수 있으니, 필요한 기능에 맞게 활용해보시기 바랍니다.

관련 참고 자료: