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

3

我有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>{...}

使用sharedPreference在本地保存数据,尝试使用以下链接:https://pub.dev/packages/shared_preferences - undefined
使用上述插件,一旦用户注册,您可以自动登录。 - undefined
1个回答

8

如果您正在使用 firebase-authentication ,那么要知道用户是否仍然已登录并导航到特定页面,可以执行以下操作:

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

https://pub.dev/packages/firebase_auth


谢谢,我知道如何获取当前用户,但如何在main.dart中使用呢? - undefined
在initstate中调用它,并根据条件导航到特定页面。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接