我可以使用 sharedPreference 来获取当前用户数据而不是 FirebaseAuth.instance.currentUser.email Flutter

can I use sharedPreference to get current user data instead of FirebaseAuth.instance.currentUser.email Flutter

现在我正在学习 flutter for chat app,我需要获取 currentUserEmail,现在我有两种方法来保存 currentUserEmail,a。将其保存在 sharedPreference 中; b.始终从 FirebaseAuth

获取

所以这是我的问题:

  1. FirebaseAuth.instance.currentUser.email Flutter 是否计算一次从 Firesbase 读取(因为 currentUserEmail 值将在我的应用程序中多次使用,它可能会增加成本)
  2. 获取 currentUserEmail 然后将其保存在 sharedPreference 中是否安全,因此将来我可以轻松地从 sharedPreference 中获取此 currentUserEmail 而不是总是从 FirebaseAuth 中获取。恐怕黑客可以在本地更改此 currentUserEmail 值,因此该应用可能会将此用户视为其他用户。

感谢您提前提供任何信息并注意安全!

关于从 Firestore 读取数据以及它是否会影响使用 Firebase 的成本,那里回答了一个类似的问题:

所以简短的回答是 - 是的,它可能会影响,但您可以通过实施链接文章中的解决方案来降低成本。

关于在首选项中保存用户的电子邮件 - 是的,只要您的应用程序中的身份验证不仅仅依赖于电子邮件地址,您就可以保存它。如果您正在使用任何身份验证服务(例如 Firebase Auth),那么在首选项中更改电子邮件不会导致用户身份验证出现任何问题。

您无需在 sharedPreference 中缓存 FirebaseAuth.instance.currentUser 的值,因为 Firebase SDK 已经为您缓存了该值。访问 FirebaseAuth.instance.currentUser 或其任何属性是免费的。