Флаттер: как получить учетные данные Firebase Auth для обновления электронной почты и пароля - PullRequest
0 голосов
/ 01 ноября 2019

Итак, в моем приложении флаттера я пытаюсь добавить функциональность для изменения электронной почты.

Я использовал метод userData.updateEmail (email), но он выдает эту ошибку:

Необработанное исключение: PlatformException (ERROR_REQUIRES_RECENT_LOGIN, эта операция чувствительна и требует недавней аутентификации. Войдите в систему еще раз, прежде чем повторять этот запрос., Ноль)

При поиске решения в Интернете, которое я узнал, мне нужно повторно аутентифицировать пользователя с помощьюэтот метод: userData.reauthenticateWithCredential (учетные данные)

Но я не могу найти способ получить учетные данные для передачи в метод reauthenticateWithCredential.

Некоторые фрагменты кода (хотя я считаю, что они не нужны):

initUserData() async {
    FirebaseUser user = await FirebaseAuth.instance.currentUser();

    setState(() {
      userData = user;
    });
  }

updateEmail(String value) async {
    // value is the email user inputs in a textfield and is validated
    userData.updateEmail(value);

  }

Примечание: я использую как логин с гуглом, так и пароль-логин.

1 Ответ

0 голосов
/ 05 ноября 2019

Если вы хотите изменить конфиденциальную информацию в Firebase, вам необходимо сначала пройти аутентификацию в своей учетной записи, используя свои текущие учетные данные, а затем обновить ее. В настоящее время у флаттера нет метода reAuthenticate для Firebase, поэтому вам нужно вызвать signInWithEmailAndPassword или любой другой метод входа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...