一尘不染

如何使用Passport.js访问Cookie集

node.js

我正在使用Passport.js来实现对我的Node-App的登录。但是在我的应用程序中,我需要访问用户的ID,目前,我不知道如何实现此目的!

我该如何访问用户ID或自己将其发送到Cookie中?


阅读 262

收藏
2020-07-07

共1个答案

一尘不染

您应该在策略的配置旁边,在您的应用中引入以下代码:

passport.serializeUser(function(user, done) {
   done(null, user.id);
});

passport.deserializeUser(function(obj, done) {
   done(null, obj);
});

这样,当您通过done身份验证的用户调用该函数时,password会负责将userId存储在cookie中。每当您要访问userId时,都可以在请求正文中找到它。(表示
req["user"])。

serializeUser如果要在会话中存储其他数据,也可以开发该功能。我这样做:

passport.serializeUser(function(user, done) {
   done(null, {
      id: user["id"],
      userName: user["userName"],
      email: user["email"]
   });
});

您可以在此处找到更多信息:http :
//passportjs.org/docs/configure

2020-07-07