我可以使用Firebase身份验证保存电子邮件和密码。我还使用Cloud Firestore保存了此信息。但是注册后如何添加和保存displayName?
我的代码:
Future registerWithEmailAndPassword(String email, String password) async {
try {
AuthResult result = await _auth.createUserWithEmailAndPassword(
email: email, password: password);
FirebaseUser user = result.user;
// create a new document for the user with the uid
await DatabaseService(uid: user.uid)
.updateUserData('User', user.email, 'test.de/test.png', user.uid);
return _userFromFirebaseUser(user);
} catch (e) {
print(e.toString());
return null;
}
}
注册表格按钮:
onPressed: () async {
if (_formKey.currentState.validate()) {
setState(() => loading = true);
dynamic result = await _auth
.registerWithEmailAndPassword(
email, password);
if (result == null) {
setState(() {
error = 'Valid email, please';
loading = false;
});
}
}
}
您可以使用FirebaseUser类中给定的updateProfile
方法来更新名称和照片url。
updateProfile({String displayName, String photoURL}).
对于电子邮件,您可以使用另updateEmail(String newEmail)
一种异步方法。
或将用户名直接保存到Firestore中,成功登录后,您可以使用FirebaseFirestore的“设置”方法保存电子邮件,密码和用户名。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句