这是我的结构:
- HTML 表单将身份验证发送到
nodejs
。 - 使用
passportjs
>res.send
userid
和 jwt-simple 进行身份验证(json 网络 token )。 - 收到的信息保存在
$localStorage.user
中。我在任何需要的 Controller 中使用该信息,并将其包含在内并将我的post
/get
请求发送到nodejs
。 - 我在nodejs中解码信息并查询
DB
。
这安全吗?这就是现实世界中的运作方式吗?
非常感谢。
最佳答案
@Somename: 您提到的工作流程稍微正确。 完成护照认证的理想方法是,
- 用户登录时输入用户名和护照。
- 使用这些表单数据发送发布请求。
- 使用 Passport 验证凭据。使用passport.authenticate将调用serializeUser并为您获取有效用户(如果存在)。否则我们将返回登录错误响应。
- 成功登录将自动在后端创建一个 session ,将其保存在 sessionStorage 中并将其与响应一起添加。
- 一旦在客户端获取响应,此 Cookie 将自动保存到浏览器的本地存储中。
- 每次发送后续 API 请求时,我们都需要将此 Cookie 包含在请求 header 中。
- 这个cookie应该是validated每次在后端。 passport.authorize将再次使用cookie并检查 session 是否有效。
用户注销后注销 session 。
希望我已经把事情说清楚了。
关于angularjs - 在 AngularJS 中本地保存 session 有多安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42922308/