【问题标题】:Best practice for storing user information存储用户信息的最佳实践
【发布时间】:2021-08-05 00:21:41
【问题描述】:

我正在使用 Flutter 制作一个应用程序,该应用程序通过 Firebase 身份验证处理其登录。身份验证工作正常,但我很好奇存储用户对象的最佳实践。

目前,注册/登录会将数据库用户的字段转换为用户对象。由于此信息在应用程序范围内的必要性,我想让这些信息“全球”访问。当然,在用户修改数据库或其他重要功能之前,我会确保他们经过真正的身份验证。

我目前正在通过一个带有用户单例的全局库来处理这个问题,但我听说全局变量以及单例通常是一种不好的做法。最终我希望它让用户即使在关闭应用程序后也能保持身份验证,所以我最终可能会使用 SharedPreferences。

我应该为此使用 SharedPreferences 吗?我应该继续使用我的全局库并集成 SharedPreferences 吗?我应该以某种方式使用 Provider 吗?

基本上两个问题:

  1. 在 Flutter/Dart 中,在当前会话中存储用户对象的最佳实践通常是什么?
  2. 在 Flutter/Dart 中存储用户对象以供未来会话的最佳实践通常是什么?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    在我看来,一个非常普遍的做法是使用shared_preferences plugin on pub.dev。但请记住有关此的安全问题。 这将保存在未加密的文件中,因此如果您的手机已被某些 3rd 方应用程序植根,则有人可以访问它。 所以一个不错的选择也可以是使用encrypt plugin on pub.dev 并在保存之前加密这些数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 2010-11-27
      • 1970-01-01
      • 1970-01-01
      • 2013-03-09
      • 1970-01-01
      • 2017-12-14
      相关资源
      最近更新 更多