angularjs - 在 AngularJS 中本地保存 session 有多安全?

标签 angularjs node.js jwt

这是我的结构:

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

这安全吗?这就是现实世界中的运作方式吗?

非常感谢。

最佳答案

@Somename: 您提到的工作流程稍微正确。 完成护照认证的理想方法是,

  1. 用户登录时输入用户名和护照。
  2. 使用这些表单数据发送发布请求。
  3. 使用 Passport 验证凭据。使用passport.authenticate将调用serializeUser并为您获取有效用户(如果存在)。否则我们将返回登录错误响应。
  4. 成功登录将自动在后端创建一个 session ,将其保存在 sessionStorage 中并将其与响应一起添加。
  5. 一旦在客户端获取响应,此 Cookie 将自动保存到浏览器的本地存储中。
  6. 每次发送后续 API 请求时,我们都需要将此 Cookie 包含在请求 header 中。
  7. 这个cookie应该是validated每次在后端。 passport.authorize将再次使用cookie并检查 session 是否有效。
  8. 用户注销后注销 session 。

    希望我已经把事情说清楚了。

关于angularjs - 在 AngularJS 中本地保存 session 有多安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42922308/

相关文章:

javascript - Angular ngInit 格式化

angularjs - 尝试使用 angular2/Http 时出错

javascript - Carbone JS 与 React JS 的结合使用

node.js - 关注智威汤逊安全

node.js - 为什么 jwt.sign 函数不能将我的用户识别为对象?

javascript - Node 路由器.delete 函数返回 404 Not Found?

javascript - 使用 Node.js 将文件系统中的目录结构转换为 JSON

node.js - 如何在 DTO nestJs 上设置默认值?

javascript - 如何使用 bcrypt 验证长密码?

javascript - AngularJS 将转发器的索引传递给函数