#firebase #dart #flutter #firebase-authentication
#firebase #dart #флаттер #firebase-аутентификация
Вопрос:
Пытаюсь настроить пакет firebase_auth для метода аутентификации по электронной почте / паролю Firebase в Flutter, но нужна помощь с проверкой электронной почты.
Я столкнулся с методом sendEmailVerification();, предоставляемым пакетом firebase_auth, но мне нужен совет по его настройке. У кого-нибудь есть рабочий пример кода для подражания, пожалуйста?
// From firebase_auth package docs > https://pub.dartlang.org/documentation/firebase_auth/latest/firebase_auth/FirebaseUser/sendEmailVerification.html
Future<void> sendEmailVerification() async {
// TODO(amirh): remove this on when the invokeMethod update makes it to stable Flutter.
// https://github.com/flutter/flutter/issues/26431
// ignore: strong_mode_implicit_dynamic_method
await FirebaseAuth.channel.invokeMethod(
'sendEmailVerification', <String, String>{'app': _app.name});
}
Мы были бы весьма признательны за любую помощь, советы, указания по его правильной настройке и, по возможности, за рабочий пример кода, которому следует следовать.
Ответ №1:
Этот метод будет работать, если вы создадите FirebaseUser
. Его можно использовать следующим образом:
await _auth.createUserWithEmailAndPassword (
email: //wherever you set their email,
password: //wherever you set their password,
).then((FirebaseUser user) {
//If a user is successfully created with an appropriate email
if (user != null){
user.sendEmailVerification();
}
})
.catchError();
Комментарии:
1. Спасибо за это! не понял,
FirebaseUser
что это должно быть сделано.2. @Effie Всегда пожалуйста! Подумайте о том, чтобы принять этот ответ, чтобы другие люди, у которых есть эта проблема, знали, как ее решить!
3. @R.Duggan выполняет ли пользователь автоматический вход с помощью sendEmailVerification()?
4. @WilliamHumphries Я полагаю, вам нужно будет взять пароль и адрес электронной почты, с помощью которых они вошли в систему, и получить от них
AuthCredential
для получения токена доступа, чтобы вы могли подтвердить, что это они. Для получения дополнительной информации ознакомьтесь с документацией пакета flutter firebase_auth по адресу pub.dev/packages/firebase_auth5. Это идеально, но как запретить пользователю переходить на главный экран без предварительной проверки своей электронной почты?