Passportjs从isAuthenticated函数中提取用户

时间:2016-06-10 10:40:22

标签: node.js express passport.js passport-local

Alrigh,所以我已经建立了一个完整的护照本地授权,每件事情都非常完美,除了我似乎无法用passport.js解决一个问题。

我通过会话授权用户(他们工作正常),但我似乎无法从该会话中提取用户信息,但如果我手动检查我的会话数据库,则每个会话都有一个用户ID(链接到用户)。 此外,反序列化函数似乎返回用户,日志显示正确的用户。

现在问题是我似乎无法在我的路线中的任何地方传递此用户< - >会话信息。 我似乎遇到的问题是,登录的人员是经过授权的,但是他们可以随心所欲地处理请求主体,在他们的名字中发布消息,将其记录下来,......

代码示例:

docker inspect <containerId>

在此代码中,它只是检查用户是否已登录,如果可能,我想检查哪个用户登录到该会话,以便他无法验证此游戏是否为不属于它。

假设用户A,B是游戏的一部分,需要验证它。此功能允许登录的用户C验证它们,因为此功能仅检查用户是否已登录。

如果我可以将登录用户(测试用例中的用户C)传递给gameController,我可以在那里编写自己的支票并将其丢弃。

1 个答案:

答案 0 :(得分:1)

验证成功后,

Passport将填充req.user。它将由deserializeUser提供的数据填充,该数据通常是用户的数据库记录。

您可以使用该信息来限制其他数据库查询/检查/等,以确保允许登录用户访问特定信息。