Как автоматически войти существующий пользователь в флаттер - PullRequest
0 голосов
/ 24 января 2020

У меня есть 4 экрана:

1. Имея две кнопки с Login и SignUp (main.dart)

2.login Screen. (проверяет, прошел ли пользователь аутентификацию, а затем отправляет sh на домашнюю страницу)

3.SignUp Screen. (создать пользователя и pu sh пользователя для входа в систему)

4.HomePage. (с кнопкой выхода из системы)

теперь мой вопрос:

  1. Это правильный способ сделать это?

  2. Я хочу, чтобы существующий пользователь автоматически авторизировался. (Основная проблема) Я знаю концепцию автоматического входа в систему при входе в систему существующего пользователя. вы можете помочь? спасибо.

и я хочу проверить здесь, в main.dart, аутентифицирован ли пользователь или нет, если да, тогда pu sh на главную, иначе покажите страницу входа, которая находится в 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>{...}

1 Ответ

2 голосов
/ 24 января 2020

Поскольку вы используете firebase-authentication, чтобы узнать, вошел ли пользователь в систему и перейти к определенной странице c, вы можете сделать следующее:

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

https://pub.dev/packages/firebase_auth

...