【发布时间】:2020-02-19 10:05:13
【问题描述】:
有一个关于 Flutter 和 Firebase 身份验证的教程系列。当我克隆项目并运行时,在 auth.dart 和 login_page.dart 中删除了以下错误。请问我该如何解决这个问题?
“AuthResult”类型的值不能分配给“FirebaseUser”类型的变量
代码如下:
class Auth implements BaseAuth {
final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
Future<String> signIn(String email, String password) async {
FirebaseUser user = await _firebaseAuth.signInWithEmailAndPassword(email: email, password: password);
return user.uid;
}
Future<String> createUser(String email, String password) async {
FirebaseUser user = await _firebaseAuth.createUserWithEmailAndPassword(email: email, password: password);
return user.uid;
}
并且没有为类“BaseAuth”定义登录方法“signInWithEmailAndPassword”中的错误。 代码如下:
Future<void> validateAndSubmit() async {
if (validateAndSave()) {
try {
final BaseAuth auth = AuthProvider.of(context).auth;
if (_formType == FormType.login) {
final String userId = await auth.signInWithEmailAndPassword(_email, _password);
print('Signed in: $userId');
} else {
final String userId = await auth.createUserWithEmailAndPassword(_email, _password);
print('Registered user: $userId');
}
widget.onSignedIn();
} catch (e) {
print('Error: $e');
}
}
}
【问题讨论】: