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

问题描述


我来自网络开发背景,几个月前(去年)我进入了 Flutter,这很棒。我喜欢使用 Flutter 甚至 React Native 开发多平台应用程序。

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

--

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

{
    "user": string,"password": string,"uuid": string
}

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

该应用已将登录 JSON 请求正文中的用户数据与 flutter_secure_storage 包一起存储在静态键名下。

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

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

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

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

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

--

你会怎么做?

提前致谢。

解决方法

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

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...