我正在使用Passport.js来实现对我的Node-App的登录。但是在我的应用程序中,我需要访问用户的ID,目前,我不知道如何实现此目的!
我该如何访问用户ID或自己将其发送到Cookie中?
您应该在策略的配置旁边,在您的应用中引入以下代码:
passport.serializeUser(function(user, done) { done(null, user.id); }); passport.deserializeUser(function(obj, done) { done(null, obj); });
这样,当您通过done身份验证的用户调用该函数时,password会负责将userId存储在cookie中。每当您要访问userId时,都可以在请求正文中找到它。(表示 req["user"])。
done
req["user"]
serializeUser如果要在会话中存储其他数据,也可以开发该功能。我这样做:
serializeUser
passport.serializeUser(function(user, done) { done(null, { id: user["id"], userName: user["userName"], email: user["email"] }); });
您可以在此处找到更多信息:http : //passportjs.org/docs/configure