如何“扩展” Flutter 应用程序以支持多个用户?

Posted

技术标签:

【中文标题】如何“扩展” Flutter 应用程序以支持多个用户?【英文标题】:How do I "scale" a Flutter app so that it supports multiple users? 【发布时间】:2021-06-01 10:42:59 【问题描述】: 我来自 web 开发背景,几个月前(去年)我进入了 Flutter,这太棒了。我喜欢使用 Flutter 甚至 React Native 开发多平台应用程序。

问题是,我还没有真正制作过生产应用程序。我想现在是时候了!

--

所以,我们有一个 RestFul API。您以 JSON 格式向服务器发出登录 POST 请求,大致如下。


    "user": string,
    "password": string,
    "uuid": string

使用 Flutter 和 http 包很容易做到这一点。

该应用一直在使用 flutter_secure_storagepackage 在静态键名下存储来自登录 JSON 请求正文的用户数据。

应用程序受代码屏幕保护,如果用户请求,该代码屏幕使用local_auth 包来使用生物识别技术。代码是强制性的,生物特征认证不是。这个屏幕背后的逻辑是,如果用户认证成功,它只是调用登录函数,并将数据传递给函数。

现在,问题是,我们已经更新了系统的工作方式,您可能需要使用多个帐户,而这在我刚刚给您的解决方案之前是可能的。

现在,加密的 SQLite 数据库对我有用吗?这方面的最佳实践是什么? 我考虑过检查 flutter_secure_storage 上的值并在前面添加一个数字,但这可能不会像我想要的那样“可扩展”。

请记住,该应用将存储用户敏感数据,例如密码和令牌。

我研究过口味,但我认为这不需要这样的解决方案。

--

你会怎么做?

提前致谢。

【问题讨论】:

【参考方案1】:

我要给你的个人推荐是颤振包 Hive。它是按标准加密的,并且具有相当快的读写速度。它还可以生成适配器,因此您可以存储完整的类数据,而无需将数据编码为数据字符串。但是,如果您只想存储非常小的键和值,安全存储就可以了。

我猜你可以使用用户 ID 或一些用户标识符作为键,并有一个具有不同类型身份验证的数组作为数据,如果你有任何后续问题,请在下面评论!

【讨论】:

谢谢!我听说过 hive 但从不知道它是一个颤振包。我有点卡住了,因为我想将类存储在安全存储中,但我认为它只允许字符串。这使它变得容易得多。顺便说一句,您如何看待在代码或生物识别身份验证上调用登录函数并传递类似于login(user, pass, uuid) 的数据?我正在尝试学习 dart/flutter 的良好实践。再次感谢! 您是指发送给登录的数据吗?我唯一不确定的是请求中的普通密码,但我想如果它是编码的,那就没有问题了。只要您不将密码存储在服务器上,而只是在本地存储,对我来说似乎没问题

以上是关于如何“扩展” Flutter 应用程序以支持多个用户?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Container 中垂直扩展 TextField 以覆盖 Flutter 中的所有可用空间

扩展光电二极管检测器以支持多个传感器

Flutter 如何从 JSON 中列出具有多个子项的数组

在 Flutter 中,您如何制作动画以将容器从 0 高度扩展到其内容的高度?

Socket.io 命名空间限制以及如何扩展它

使用flutter如何在同一个App中使用多个firebase实时数据库