跨页面存储会话数据最佳实践
Posted
技术标签:
【中文标题】跨页面存储会话数据最佳实践【英文标题】:Storing session data in flutter across pages best practice 【发布时间】:2021-01-09 13:44:29 【问题描述】:我有一个 Flutter 应用程序,它包含一个用户名和一个令牌以与 Web 服务通信。 如何使用最佳实践有效地管理用户名和令牌?目前我正在将它们写入数据库并在每次我想做请求时选择它们。
我尝试将 bloc 提供程序 flutter bloc 与 BlocProvider 一起使用。我有 LoggedIn 和 LoggedOut 状态以及 Login 和 Logout 事件。
另外,我看过 secure storage,但我无法获得所有页面的可用数据。
另外,我没有使用 firebase API。
如果我应该提供一些代码 sn-ps,请告诉我。
【问题讨论】:
在我的应用程序中,我只是共享首选项和一个单例类来在登录时存储用户值 我认为 firebase 身份验证会更简单、更安全。这是免费的。您可以将用户的 id 令牌发送到您的 Web 服务器以验证是哪个用户发送的。 medium.com/firebase-tips-tricks/… 和 firebase.google.com/docs/auth/admin/verify-id-tokens 。您可以通过以下方式获取 id 令牌:***.com/questions/56201378/… 我检查了 firebase,但我不认为它总是 goto。首先,我的后端已经完成(由一个相对丰富的 REST API 组成)。其次,如果您的流量不仅仅是我测试系统的流量,那么 firebase 根本不是免费的。如果我错了,请纠正我,但在 firebase 中从头开始看起来不是最好的主意。 【参考方案1】:我现在使用SharedPreferences。 API 非常简单,我编写了一个包装器来摆脱 (Strings) 键。此外,包装器保存当前会话的值。这样做的好处是,我可以直接处理这些值,而不需要异步读取它们。
【讨论】:
以上是关于跨页面存储会话数据最佳实践的主要内容,如果未能解决你的问题,请参考以下文章