在AngularJS本地保存会话有多安全?

所以这是我的结构:

  1. HTML表单将身份validation发送到nodejs
  2. 使用passportjs > res.send使用jwt-simple (json web token)发送userid进行身份validation。
  3. 收到的信息保存在$localStorage.user 。 我在任何需要的控制器中使用该信息,并将其包含在内,并将我的post / get请求发送给nodejs
  4. 我解码nodejs中的信息并查询DB

这安全吗? 这是如何在现实世界中工作?

非常感谢。

@Somename:您提到的工作stream程稍微正确。 完成护照authentication的理想方式是,

  1. 用户login进入他的用户名和护照。
  2. 用这些表单数据发送一个post请求。
  3. 使用Passport对凭据进行身份validation。 使用passport.authenticate将会调用serializeUser,如果存在的话,会得到有效的用户。 否则我们会返回一个login错误响应。
  4. 成功的login会自动在后端创build一个会话,将其保存在sessionStorage中并添加响应。
  5. 一旦在客户端获取响应,该cookie将自动保存到浏览器的本地存储中。
  6. 每次我们发送一个后续的API请求,我们需要将这个cookie包含在req头文件中。
  7. 这个cookie应该在每次后台validation 。 passport.authorize将再次使用cookie并检查会话是否有效。
  8. 用户注销后注销会话。

    希望我已经为你清楚了。