#firebase #flutter #dart #firebase-authentication
# #firebase #flutter #dart #firebase-аутентификация
Вопрос:
Я обнаружил, что пользователь может войти в систему с неправильными учетными данными. Как мне это исправить?
onPressed: () async {
if (_formKey.currentState.validate()) {
setState(() => loading = true);
dynamic result = await _auth
.signInWithEmailAndPassword(email, password)
.then((value) => Navigator.pushReplacementNamed(
context, Strings.userInfoPath));
if (result == null) {
setState(() {
loading = false;
error = Strings.couldNotLogInCred;
});
Ответ №1:
В предоставленном вами коде вы нажимаете новый экран без предварительной проверки достоверности учетных данных, следуя возможному решению:
onPressed: () async {
if (_formKey.currentState.validate()) {
setState(() => loading = true);
dynamic result = await _auth
.signInWithEmailAndPassword(email, password);
if (result == null) {
setState(() {
loading = false;
error = Strings.couldNotLogInCred;
});
return;
}
await Navigator.pushReplacementNamed(
context, Strings.userInfoPath);
}
}
Комментарии:
1. О, конечно! Большое спасибо, это исправлено 🙂
Ответ №2:
Вы тоже можете попробовать это.
FirebaseAuth.instance.signInWithEmailAndPassword(email: email, password: psw)
.then((result) {
//If sign in, this block works
}).catchError((e) {
//this block works if there is an error
});