如何在flutter中自动登录现有用户

San*_*rma 1 authentication dart firebase firebase-authentication flutter

我有 4 个屏幕:

1.有登录和注册两个按钮(main.dart)

2.登录界面。(检查用户是否通过身份验证,然后推送到主页)

3.注册屏幕。(创建用户并推送用户登录)

4.首页。(带注销按钮)

现在,我的问题是:

  1. 这是正确的方法吗?

  2. 我希望现有用户自动登录。(主要问题)我知道使用登录现有用户进行自动登录的概念。你能帮我吗?谢谢。

我想在 main.dart 中检查用户是否已通过身份验证,如果是,则推送到主页,否则显示 main.dart 本身中的登录页面。

main.dart


void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primaryColor: Color.fromRGBO(255,188,114, 1),
      ),
      home: Loginpage (),
    );
  }
}

class Loginpage extends StatefulWidget{...}
class _LoginpageState extends State<Loginpage>{...}
Run Code Online (Sandbox Code Playgroud)

Pet*_*dad 6

既然您正在使用firebase-authentication,那么要了解用户是否仍处于登录状态并导航到特定页面,您可以执行以下操作:

FirebaseUser user = await FirebaseAuth.instance.currentUser();
if(user != null){
  // navigate to home page
}
else
{
// log in 
}
Run Code Online (Sandbox Code Playgroud)

https://pub.dev/packages/firebase_auth