如何在 NodeJS + Express 4 中获取 req.user.email

How to get req.user.email in NodeJS + Express 4

我正在使用 NodeJS、Express 4 和 PassportJS 进行身份验证。 早些时候,当我使用 Express 3 时,我可以通过以下方式访问经过身份验证的用户电子邮件(PassportJS 使用它进行注册):

req.user.local.email

对于 Express 3,我使用了以下结构:

app.configure(function() {

    // set up our express application
    app.use(express.logger('dev')); // log every request to the console
    app.use(express.cookieParser()); // read cookies (needed for auth)
    app.use(express.bodyParser()); // get information from html forms
...
});

这在 Express 4 中现已弃用,我不确定现在如何访问经过身份验证的用户注册电子邮件。

我试过 req.body.email 但它是 'undefined'。

我已经安装了body-parser

var cookieParser    = require('cookie-parser');
var bodyParser      = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

有人可以帮助我如何从请求中获取此信息。

此外,如果有人能指导我参考 Passport.js 如何存储此信息,我将不胜感激。

官方文档如下:http://passportjs.org/docs/configure

在这里您可以找到非常详细的使用 Express 4 的教程:Scotch.io Tutorial

这里有一些从 Express 3 到 Express 4 的移植说明,来自上面的同一作者:Porting to Express 4

祝你好运!