0

我终于完成了用实现替换everyauth/mongoose-auth登录系统passport。我纯粹将其用于本地用户名/密码登录,因此我也在使用该passport-local模块。

我通过几个例子知道,我发现 Passport 自动分配了几个req助手。我无法找到它放在那里的变量的完整列表,但我发现req.isAuthenticated()了一些变量和req.user变量。

是否有在线任何地方提供的完整列表?只是对路线/视图中可用的选项感兴趣。我可以继续浏览示例,但如果在某个地方有参考,那就太好了。

4

1 回答 1

1

对于 Connect/Express 应用程序,

1.var passport = require('passport');

添加了以下四个辅​​助函数http.IncomingMessage.prototype(即请求对象的原型):

  • 登录/登录(用户,[选项,]完成)
  • 注销/logOut()
  • isAuthenticated() - 即是否req.user存在。
  • 是未经身份验证的()

如果用户认证成功,通常会调用回调函数done(null, user)。然后,此回调函数调用req.logIn()后者调用serializeUser()将用户 ID 存储为req._passport.session.user.

函数req.logOut()删除.req._passport.session.user

2.app.use(passport.initialize());

从当前会话中获取护照信息并将其存储为req._passport.session(即,req.session['passport'])。

3.app.use(passport.session());

检查是否req._passport.session.user存在,即当前会话中是否存储了用户id。如果是,则调用deserializeUser()以获取将存储为的用户对象req.user

于 2014-03-25T06:55:46.637 回答