我最终用everyauth
实现替换了mongoose-auth
/ passport
登录系统。我纯粹使用这个本地用户名/密码登录,所以我也使用passport-local
模块。
通过几个例子我知道,我发现Passport自动分配了几个req
帮助器。我找不到它放在那里的变量的完整列表,我找到的一对req.isAuthenticated()
和req.user
变量。
是否有在线提供的完整列表?只对我在路线/视图中提供的选项感兴趣。我可以继续通过示例,但如果有一个参考somwhere会很好。
答案 0 :(得分:1)
对于Connect / Express应用程序,
1。var passport = require('passport');
以下四个辅助函数被添加到http.IncomingMessage.prototype
(即请求对象的原型):
req.user
是否存在。如果用户成功通过身份验证,通常会调用回调函数done(null, user)
。然后,此回调函数会调用req.logIn()
,serializeUser()
会调用req._passport.session.user
将用户ID存储为req.logOut()
。
req._passport.session.user
功能会删除app.use(passport.initialize());
。
2。req._passport.session
从当前会话中获取护照信息并将其存储为req.session['passport']
(即app.use(passport.session());
)。
3。req._passport.session.user
检查deserializeUser()
是否存在,即用户ID是否存储在当前会话中。如果是,请致电req.user
以获取将存储为{{1}}的用户对象。