невозможно войти в систему пользователя! firebase / трепетание - PullRequest
0 голосов
/ 14 марта 2020

Я новичок в трепетании и Firebase! пытался настроить аутентификацию, но мой логин не работает! пользователь получает доступ к домашнему экрану, когда приложение запускается, и у меня есть две кнопки, с помощью которых можно войти и зарегистрироваться, регистрация работает отлично и перенаправляет пользователей на новый экран, в то время как вход в систему (консоль) говорит, что все хорошо но не перемещается!

Это мой authservice:

  class AuthService {
   static final _auth = FirebaseAuth.instance;
   static final _firestore = Firestore.instance;




  static void signUpUser(
      BuildContext context, String name, String email, String password) async {
    try {
      AuthResult authResult = await _auth.createUserWithEmailAndPassword(
        email: email,
        password: password,
      );

      FirebaseUser signedInUser = authResult.user;

      if (signedInUser != null) {
        _firestore.collection('/users').document(signedInUser.uid).setData({
          'name': name,
          'email': email,
          'profileImageUrl': '',
        });
        Provider.of<UserData>(context, listen: false).currentUserId =
            signedInUser.uid;

        Navigator.pushNamed(context, HomeScreen.id);
//        Navigator.pop(context);
      }

    } catch (e) {
      print(e);
    }
  }

  static void login(String email, String password) async {
    try {
      await _auth.signInWithEmailAndPassword(email: email, password: password);

    } catch (e) {
      print(e);
    }
  }

   static void logout() {
    _auth.signOut();
  }
}

Это кнопка отправки регистрации:

final _formKey = GlobalKey<FormState>();
  String _name, _email, _password;

  _submit() {
    if (_formKey.currentState.validate()) {
      _formKey.currentState.save();
      AuthService.signUpUser(context, _name, _email, _password);
    }
  }

И это логин:

 _submit() {
    if(_formKey.currentState.validate()){
      _formKey.currentState.save();
      AuthService.login(_email, _password);

    }
  }

1 Ответ

0 голосов
/ 14 марта 2020

Это необходимо сделать при входе в систему.

Navigator.pushNamed(context, YourLoginPageName.id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...