我可以使用 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
获取
所以这是我的问题:
- FirebaseAuth.instance.currentUser.email Flutter 是否计算一次从 Firesbase 读取(因为 currentUserEmail 值将在我的应用程序中多次使用,它可能会增加成本)
- 获取 currentUserEmail 然后将其保存在 sharedPreference 中是否安全,因此将来我可以轻松地从 sharedPreference 中获取此 currentUserEmail 而不是总是从 FirebaseAuth 中获取。恐怕黑客可以在本地更改此 currentUserEmail 值,因此该应用可能会将此用户视为其他用户。
感谢您提前提供任何信息并注意安全!
关于从 Firestore 读取数据以及它是否会影响使用 Firebase 的成本,那里回答了一个类似的问题:
所以简短的回答是 - 是的,它可能会影响,但您可以通过实施链接文章中的解决方案来降低成本。
关于在首选项中保存用户的电子邮件 - 是的,只要您的应用程序中的身份验证不仅仅依赖于电子邮件地址,您就可以保存它。如果您正在使用任何身份验证服务(例如 Firebase Auth),那么在首选项中更改电子邮件不会导致用户身份验证出现任何问题。
您无需在 sharedPreference
中缓存 FirebaseAuth.instance.currentUser
的值,因为 Firebase SDK 已经为您缓存了该值。访问 FirebaseAuth.instance.currentUser
或其任何属性是免费的。
现在我正在学习 flutter for chat app,我需要获取 currentUserEmail,现在我有两种方法来保存 currentUserEmail,a。将其保存在 sharedPreference 中; b.始终从 FirebaseAuth
获取所以这是我的问题:
- FirebaseAuth.instance.currentUser.email Flutter 是否计算一次从 Firesbase 读取(因为 currentUserEmail 值将在我的应用程序中多次使用,它可能会增加成本)
- 获取 currentUserEmail 然后将其保存在 sharedPreference 中是否安全,因此将来我可以轻松地从 sharedPreference 中获取此 currentUserEmail 而不是总是从 FirebaseAuth 中获取。恐怕黑客可以在本地更改此 currentUserEmail 值,因此该应用可能会将此用户视为其他用户。
感谢您提前提供任何信息并注意安全!
关于从 Firestore 读取数据以及它是否会影响使用 Firebase 的成本,那里回答了一个类似的问题:
所以简短的回答是 - 是的,它可能会影响,但您可以通过实施链接文章中的解决方案来降低成本。
关于在首选项中保存用户的电子邮件 - 是的,只要您的应用程序中的身份验证不仅仅依赖于电子邮件地址,您就可以保存它。如果您正在使用任何身份验证服务(例如 Firebase Auth),那么在首选项中更改电子邮件不会导致用户身份验证出现任何问题。
您无需在 sharedPreference
中缓存 FirebaseAuth.instance.currentUser
的值,因为 Firebase SDK 已经为您缓存了该值。访问 FirebaseAuth.instance.currentUser
或其任何属性是免费的。