Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在AngularJS中本地保存会话有多安全?_Angularjs_Node.js_Jwt - Fatal编程技术网

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

在AngularJS中本地保存会话有多安全?,angularjs,node.js,jwt,Angularjs,Node.js,Jwt,这就是我的结构: HTML表单将身份验证发送到nodejs 使用passportjsres.senduserid和(json web令牌)进行身份验证 收到的信息保存在$localStorage.user中。我在需要的任何控制器中使用该信息,并将其包括在内,然后将我的post/get请求发送到nodejs 我解码nodejs中的信息并查询DB 这安全吗?这就是它在现实世界中的工作方式吗 非常感谢。@Somename: 您提到的工作流程稍微正确。 完成护照认证的理想方法是 用户登录,输入用户名和护

这就是我的结构:

  • HTML表单将身份验证发送到
    nodejs
  • 使用
    passportjs
    res.send
    userid和(json web令牌)进行身份验证
  • 收到的信息保存在
    $localStorage.user
    中。我在需要的任何控制器中使用该信息,并将其包括在内,然后将我的
    post
    /
    get
    请求发送到
    nodejs
  • 我解码nodejs中的信息并查询
    DB
  • 这安全吗?这就是它在现实世界中的工作方式吗

    非常感谢。

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

  • 用户登录,输入用户名和护照
  • 使用这些表单数据发送post请求
  • 使用对凭据进行身份验证。使用passport.authenticate将调用serializeUser并获取有效用户(如果存在)。否则我们将返回登录错误响应
  • 成功登录将自动在后端创建会话,将其保存在sessionStorage中,并将其与响应一起添加
  • 在客户端获取响应后,此cookie将自动保存到浏览器的本地存储中
  • 每次发送后续API请求时,我们都需要在req头中包含此cookie
  • 此cookie每次都应该放在后端passport.authorize将再次使用cookie并检查会话是否有效
  • 用户注销后的注销会话

    希望我已经把事情讲清楚了


  • 只要您有一个用于登录机制的加密和解密模块(在您的案例中,您使用了jwt simple),您的请求就安全了。因此,如果有人编辑cookie并将其发送到服务器,passportjs不会接受它,因为它不是原始的,对吗?从后端创建的cookie不能从客户端编辑。此外,创建的Cookie将包含创建时间、到期日期等详细信息。后端Cookie管理将由Passport.js自动处理。