在AngularJS本地保存会话有多安全?
所以这是我的结构:
- HTML表单将身份validation发送到
nodejs
。 - 使用
passportjs
>res.send
使用jwt-simple (json web token)发送userid
进行身份validation。 - 收到的信息保存在
$localStorage.user
。 我在任何需要的控制器中使用该信息,并将其包含在内,并将我的post
/get
请求发送给nodejs
。 - 我解码nodejs中的信息并查询
DB
。
这安全吗? 这是如何在现实世界中工作?
非常感谢。
@Somename:您提到的工作stream程稍微正确。 完成护照authentication的理想方式是,
- 用户login进入他的用户名和护照。
- 用这些表单数据发送一个post请求。
- 使用Passport对凭据进行身份validation。 使用passport.authenticate将会调用serializeUser,如果存在的话,会得到有效的用户。 否则我们会返回一个login错误响应。
- 成功的login会自动在后端创build一个会话,将其保存在sessionStorage中并添加响应。
- 一旦在客户端获取响应,该cookie将自动保存到浏览器的本地存储中。
- 每次我们发送一个后续的API请求,我们需要将这个cookie包含在req头文件中。
- 这个cookie应该在每次后台validation 。 passport.authorize将再次使用cookie并检查会话是否有效。
-
用户注销后注销会话。
希望我已经为你清楚了。
- 在mac中安装node.js和npm时遇到困难
- Nodejs http://test.dev:3000/api/profile。 没有'Access-Control-Allow-Origin'标题Origin'http:// localhost:9000'
- 用AngularJS和NodeJS创build一个注册过程
- 当build立AngularJS模板时,咕嘟咕嘟地注释错误
- AngularJS – 三个相关的select – 只有前两个填充
- 在AngularJS应用程序中使用node_modules
- 如何* ngFor使用angular2中的模板variables?
- 每次我做一个新项目,我应该安装快递,节点等?
- Socket.io和MEAN.io