앱 개발 공부방

flutter - firebase auth 회원가입 시 인증 이메일 보내기 본문

FLUTTER

flutter - firebase auth 회원가입 시 인증 이메일 보내기

춘행이 2024. 3. 31. 15:55
728x90

https://cpcp127.tistory.com/73

 

flutter - firebaseAuth로 email 회원가입, 로그인 하기

firebase에서 회원가입 로그인을 사용하려면 아래의 Authentication으로 들어가 준다 들어가서 시작하기를 눌러주고 이메일을 사용할 거니까 제공업체에서 이메일/비밀번호를 선택한다 이렇게 한 뒤

cpcp127.tistory.com

전 글에서 회원가입 로그인을 만들어봤는데

회원가입 할 때 사용한 이메일로 인증 이메일을 보내고 로그인할 때 인증 여부에 따라 로그인이 되냐 안되냐를 해보겠다

 

//회원가입 로직
FirebaseAuth.instance
    .createUserWithEmailAndPassword(
        email: emailController.text,
        password: pwdController.text)
    .catchError((e) {
  //회원가입 실패시
  print(e);
}).then((value) {
  //회원가입 성공시
  value.user!.sendEmailVerification();
  emailController.clear();
  pwdController.clear();
  print('회원가입 성공');
});

위처럼 value.user!. sendEmailVerification();를 추가하는데 value는 회원가입을 헀을때 돌아오는 UserCredential 값이고 거기에 대해서 이메일 인증을 보내주는 것이다

 

그러면 이런 식으로 메일이 오고 링크를 누르면 이메일 인증이 완료된다 

 

로그인 로직을 아래처럼 바꿔준다

//로그인 로직
UserCredential userCredential = await FirebaseAuth.instance
     .signInWithEmailAndPassword(
         email: emailController.text,
         password: pwdController.text)
     .catchError((e) {
   //로그인 실패시
   print(e);
 }).then((value) {
   if(value.user!.emailVerified == true){
     print('로그인 성공');
     return value;
   }else{
     print('이메일 인증을 해주세요');
     return value;
   }
 });

로그인하려는 userCredential이 이메일 인증이 안돼있으면 로그인이 안되게 로직을 짜면 된다

 

728x90
Comments