在 Vuex 中存储敏感数据

Storing sensitive data in Vuex

总而言之,我们在前端使用 Vue,在后端使用 Hapi JS。前端使用 MSAL.js 对用户进行身份验证,然后将访问令牌传递给后端。访问令牌使用 hapi-auth-jwt2validate() 函数 returns { isValid: true, credentials : { ps_ref: 12345, md_userid: asfasgsg@5874.com }} 解码。然后将此对象传递给路由的处理函数,该函数从我们的数据库和用户数据中提取身份验证 groups/user 角色 (i.e.Auids) 和 returns。

假设用户对象如下所示:

{
  Auids: (4) ["user", "webadmin", "accounts"]
  md_clock: 5678
  md_picture: "./images/"
  ps_fname1: "Test Name"
  ps_surname: "Test Surname"
  psname: "Test Name Test Surname"
  psref: 125125
}

现在,我们想将这个对象存储在 Vuex 中,但是,我们担心在浏览器中安装了 Vue Devtools 的任何人或执行类似 rootElementOfApp.__vue__.$store[ 的任何人都可以看到它=18=]

我们的问题是:

  1. 有人在生产环境中访问 Vuex 有多容易?

  2. 如果通过 public 访问 Vuex 足够容易,Vuex 是存储此对象的最佳方式吗?如果我们选择 Vuex,我们应该对用户对象或至少其中的 Auids 进行编码吗?

您存储在 js/html/cookies 中的所有内容都不会单独保存。但这都与您将如何管理它有关。基本上你可以在前端存储几乎所有的东西,只要它不是可用于道德黑客的敏感数据。地址、合同号、银行账户等内容

userIds(只要仅用于编程原因)或用户角色等数据可以存储在前端。但是如果你做对了,你总是在你的后端应用程序中也有每个客户端验证。

就vue的开发工具而言,它们仅在开发模式下可用,在生产模式下不可用。但是一个好的黑客不介意。