You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中如何将用户姓名存入Firebase Authentication账户?

在Firebase Authentication中存储用户姓名(Flutter实现)

Firebase的createUserWithEmailAndPassword方法仅支持通过邮箱和密码创建基础用户账户,若要将姓名存入Firebase Authentication的用户信息中,需在用户创建成功后,调用用户实例的updateProfile方法来设置displayName字段。

以下是修改后的完整代码:

try {
  UserCredential userCredential = await FirebaseAuth.instance
      .createUserWithEmailAndPassword(
    email: _emailTextController.text.trim(),
    password: _passwordTextController.text.trim(),
  );

  // 更新用户姓名到Firebase Auth账户
  await userCredential.user?.updateProfile(
    displayName: _nameTextController.text.trim(),
  );
  // 刷新用户信息,确保本地缓存同步
  await userCredential.user?.reload();

  print("Created New Account with Name");
  Navigator.push(
    context,
    MaterialPageRoute(builder: (context) => SignInScreen()),
  );
} on FirebaseAuthException catch (e) {
  print(e);
  Utils.showSnackBar(e.message);
} catch (e) {
  print("Error updating profile: ${e.toString()}");
  Utils.showSnackBar("Failed to save user name");
}

关键说明:

  • 先通过createUserWithEmailAndPassword创建用户,获取UserCredential实例
  • 调用userCredential.user?.updateProfile传入姓名参数,设置displayName
  • 调用reload()方法刷新用户信息,确保本地能立即获取到更新后的姓名
  • 新增通用异常捕获,处理更新姓名时可能出现的错误

后续可通过FirebaseAuth.instance.currentUser?.displayName获取已存储的用户姓名。

内容的提问来源于stack exchange,提问作者SaFaL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 23:32:04