[英]firebase reauthenticateWithCredential and signInWithCustomToken
[英]Flutter Error Firebase User ReauthenticateWithCredential
我正在快速开发应用程序,需要重新认证用户,但出现错误
I/flutter (14968): Error: NoSuchMethodError: The method '[]' was called on null
I/flutter (14968): Receiver: null
I/flutter (14968): Tried calling: []("user")
以下是我用来重新验证用户身份的代码
FirebaseUser user = await FirebaseAuth.instance.currentUser();
print("User Email: ${user.email}");
AuthCredential authCredential = EmailAuthProvider.getCredential(
email: user.email,
password: _oldPassController.text,
);
print("Auth Credential: ${authCredential.toString()}");
user.reauthenticateWithCredential(authCredential).then((result) {
print("Success: $result");
}).catchError((error) {
print("Error: $error");
setState(() {
_isLoading = false;
});
if (error is PlatformException) {
PlatformException exception = error;
showAlertDialog(context, exception.message);
} else {
showAlertDialog(context, error.toString());
}
});
我没有针对实际问题的解决方案(我认为这实际上是Firebase到Flutter项目的连接问题),但是我有一个适合我的解决方法。 我只是使用signInWithEmailAndPassword()代替reauthenticateWithCredential(),它似乎运行良好。 像这样:
AuthResult authResult = await FirebaseAuth.instance
.signInWithEmailAndPassword(email: email, password: password);
FirebaseUser firebaseUser = authResult.user;
调用signInWithEmailAndPassword()后,由于用户最近已登录,因此对用户进行了重新认证。希望它有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.