【发布时间】:2021-08-05 00:21:41
【问题描述】:
我正在使用 Flutter 制作一个应用程序,该应用程序通过 Firebase 身份验证处理其登录。身份验证工作正常,但我很好奇存储用户对象的最佳实践。
目前,注册/登录会将数据库用户的字段转换为用户对象。由于此信息在应用程序范围内的必要性,我想让这些信息“全球”访问。当然,在用户修改数据库或其他重要功能之前,我会确保他们经过真正的身份验证。
我目前正在通过一个带有用户单例的全局库来处理这个问题,但我听说全局变量以及单例通常是一种不好的做法。最终我希望它让用户即使在关闭应用程序后也能保持身份验证,所以我最终可能会使用 SharedPreferences。
我应该为此使用 SharedPreferences 吗?我应该继续使用我的全局库并集成 SharedPreferences 吗?我应该以某种方式使用 Provider 吗?
基本上两个问题:
- 在 Flutter/Dart 中,在当前会话中存储用户对象的最佳实践通常是什么?
- 在 Flutter/Dart 中存储用户对象以供未来会话的最佳实践通常是什么?
【问题讨论】: