반응형
로그인 또는 회원가입시 email / password로 동작하는 과정을 알아보고자 한다.
입력시 validate과정, flutter와 firebase를 이용해서 firebase authenticate 동작하는 과정이 되겠다.
흐름을 파악하고 이해한 후에 코드를 다시 보자.
1. email / password 입력시 validate되는 과정 (email / password를 제대로 입력했는지 검증)
- email / password 입력하기 : TextFormField
- TextFormField와 상응하는 formKey 존재
- formKey의 currentState (입력상태랄까?) validate() 메소드로 검증하기
→ 비어있진 않은지 등의 내가 체크하고자 넣었던 로직 - 검증이 완료되면 Sign in 버튼 누르기
- isLoading 화면 true로 setState
- Sign in 버튼 누르면 firebase authenticate 호출하기 ( async, await 비동기 방식 적용할 것 )
- 호출 완료되면 isLoading false로 setState
주의사항 : email / password 입력하는 body 부분에 isLoading 의 T/F 여부로
로딩화면 보여줄지 입력란 보여줄지 등의 구현 추가 필요
2. 위의 검증된 email / password로 firebase authenticate 동작하기 (이 때 email, password 넘겨주기)
- try ~ catch 문으로 감싸서 예외처리 넣어주기
- FirebaseAuth 변수 선언 : FirebaseAuth _auth = FirebaseAuth.instance; // 검증해주는 객체
- _auth.signInWithEmailAndPassword 이용해서 검증결과를 AuthResult로 선언한 변수에 담기
- AuthResult.user에는 검증된 user의 정보가 들어가게 될 것
- 이 정보를 FirebaseUser에 넣어준 후에 해당 user가 있는 경우 User(uid: user.uid)로 셋팅한 후 return
- Navigator로 로그인 이후 홈화면으로 이동
3. 한번 로그인 후 다음번 자동 검증이 되게끔 만들기 (feat. shared_preferences package)
반응형
댓글