【问题标题】:Flutter for web how to store credentials?Flutter for web 如何存储凭据?
【发布时间】:2019-12-06 04:29:09
【问题描述】:

我正在构建一个 Flutter For Web 应用程序,它需要以安全的方式存储凭据,以允许用户自动登录,我该如何实现?

【问题讨论】:

    标签: web flutter dart flutter-web


    【解决方案1】:

    在典型的 Web 应用程序中(无论是否为 flutter_web),将用户密码实际存储在浏览器中的 cookie 或 html 存储中是不明智的。一些使用的一种技术是拥有一个持久性cookie,用于存储用户名和某种使用私钥加密的临时身份验证令牌。身份验证令牌是临时的,但存在于数据库中的用户记录中,并且可以在允许其有效期间代替用户密码使用。这样,用户的凭据就不会保存在 Web 浏览器中 - 只有用户名和令牌在加密的持久 cookie 中。

    从 Flutter web 的开发预览中看来,它可以生成 web 应用程序,我假设应该使用标准 web 开发技术来确保任何和所有 web 应用程序的用户安全。

    【讨论】:

    • 所以如果我使用 nodejs + express + express-session 并进行简单的登录,我可以吗?
    • 是的。如果要使用基于会话或基于令牌 (JWT) 的管理,您必须使用 express-session 来决定。而且,您仍然需要构建一些东西来持久化令牌客户端,以使用任何一种方法来实现您所描述的持久登录。 FWIW,在我的公司,我们总是使用基于令牌的会话管理,因为它对服务器来说更轻量级。我们的 Web 客户端必须将 JWT 放入每个请求的 http 标头中。您使用像 express-session 这样的库走在正确的轨道上。祝你好运。
    • 我不确定是使用 express-session 还是 jwt,但我会照你说的做,谢谢。
    【解决方案2】:

    你可以使用这个包 在我看来它同时支持 web 和 android https://pub.dev/packages/password_credential

    【讨论】:

      猜你喜欢
      • 2019-12-08
      • 1970-01-01
      • 1970-01-01
      • 2019-09-03
      • 2019-10-18
      • 2019-09-28
      • 2020-07-05
      • 1970-01-01
      • 2020-01-29
      相关资源
      最近更新 更多