FLUTTER
flutter - firebase auth 회원가입 시 인증 이메일 보내기
춘행이
2024. 3. 31. 15:55
728x90
https://cpcp127.tistory.com/73
전 글에서 회원가입 로그인을 만들어봤는데
회원가입 할 때 사용한 이메일로 인증 이메일을 보내고 로그인할 때 인증 여부에 따라 로그인이 되냐 안되냐를 해보겠다
//회원가입 로직
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