【发布时间】:2016-09-30 06:35:02
【问题描述】:
我的 model 、doc 或 record 或任何您想称呼它的名称中都没有 id 字段。那么done(null, user.id) 是如何工作的。我有一个_id,但没有id。看起来护照对象被添加到我与数据库中用户的_id 的会话中,但它是如何获得_id 的?它是自动完成的吗?在文档中它说
在这个例子中,只有用户 ID 被序列化到会话中
它是如何获得 id 的,又是如何获得用户的?
我的代码中的类似示例:
passport.serializeUser(function(user, done){
done(null, user.id)
});
passport.deserializeUser(function(id, done){
User.findById(id, function(err, user){
done(err, user);
})
});
获取用户 ID 需要哪些步骤?
我也有
passport.use("login", new LocalStrategy(function(username, password, done){
User.findOne({username : username}, function(err, user){
if(err){return done(err)}
if(!user){
return done(null, false, {message : "no User has that name"})
}
.......
我使用passport.use() 的事实是否以某种方式将DB 中的用户连接到护照方法。
编辑假设我想通过名称字段上的护照转移文档(用户),我应该使用 user.name 吗?
我也不太确定序列化是如何工作的
【问题讨论】:
标签: javascript node.js mongodb express passport.js