Develop/Flutter

[Flutter 플러터] FirebaseAuth 로그인 상태 확인해서 StreamBuilder 로 화면 분리하기

issuemaker99 2024. 8. 15. 19:42
728x90

메인화면 진입 시 로그인 여부에 따라 화면을 구분해야할 때 간단하게 StreamBuilder 사용하기


FirebaseAuth.instance.authStateChanges() 값의 존재 여부에 따라 페이지를 구분하면 됩니다.

계속 파이어베이스의 인증여부를 듣고 있는 상태기 때문에 로그아웃을 실행하면 자동으로 화면이 전환 될 겁니다. 

@override
  Widget build(BuildContext context) {
    return Scaffold(
      body: StreamBuilder(
        stream: FirebaseAuth.instance.authStateChanges(),
        builder: (context, snapshot) {
          // 사용자 로그인 상태
          if (snapshot.hasData) {
            return const HomePage();
          }
          // 사용자 로그아웃 상태
          else {
            return const LoginOrRegister();
          }
        },
      ),
    );
  }

 

LIST