node.js - MEAN js 如何处理身份验证?

标签 node.js session express passport.js mean-stack

我想知道基本流程。

据我所知,当调用登录 API 时,passport.js 创建 session 并将其存储在 mongo 中。

谁创建了 session ?谁创建了 cookie? express 还是 Passport ?

我读到,当其他请求到来时,用户对象会使用 session ID 附加到它。谁这样做? Express 服务器、passport.js 还是其他服务器?

最佳答案

通过使用 express-session() 中间件 ExpressJs 创建 cookie 并在用户浏览器中存储 session ID。在服务器端访问cookie console.log(req.cookies['connect.sid']);

express-session负责创建 session 。 Passport 使用 express-session 来序列化和反序列化用户对象。当用户对自己进行身份验证时,用户对象将序列化并存储在 session 中。在每个请求中,passport.deserializeUser 中间件反序列化用户并填充到 req.user 对象中。

Click here ExpressJs 和 PassportJs 的最佳文章。

关于node.js - MEAN js 如何处理身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38349831/

相关文章:

ruby-on-rails - session 和 cookie 在 Rails 中如何工作?

node.js - req.flash() 需要 session

node.js - 在 Express 应用程序中使用 Docpad 的渲染引擎

json - NodeJs Express 将 json 数据发送到主干

node.js - Heroku Node 应用程序不断崩溃

javascript - 如何获取嵌套对象的默认值,包括零作为值

session - 没有 cookie 的 Scalatra session

session - 如何以编程方式在 tomcat 中获取事件的 websocket session ?

javascript - AngularJS:检索存储在 $templateCache 中的 Videogular 模板结果 404 错误

node.js - 在 socket.io 中添加一个自定义属性,并在服务器中获取这个值