본문 바로가기
프로그래밍/Flutter & Dart

Flutter Firebase auth 사용하기

by 어느덧중반 2020. 5. 27.
반응형

로그인 또는 회원가입시 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)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

댓글