Luk*_*sen 11 cookies login node.js passport.js
我正在使用Passport.js来登录我的Node-App.但在我的应用程序中,我需要访问用户的ID,目前,我不知道如何实现这个功能!
如何访问用户ID或我应该自己将其发送到cookie中?
And*_*duA 22
您应该在应用程序中引入以下代码,并在策略配置旁边:
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(obj, done) {
done(null, obj);
});
Run Code Online (Sandbox Code Playgroud)
这样,当您done使用经过身份验证的用户调用该函数时,passport会负责将userId存储在cookie中.每当您想要访问userId时,您都可以在请求正文中找到它.(在快递中 req["user"]).
serializeUser如果要在会话中存储其他数据,也可以开发该功能.我是这样做的:
passport.serializeUser(function(user, done) {
done(null, {
id: user["id"],
userName: user["userName"],
email: user["email"]
});
});
Run Code Online (Sandbox Code Playgroud)
你可以在这里找到更多:http://passportjs.org/docs/configure
use*_*182 18
添加到登录路径
res.cookie('userid', user.id, { maxAge: 2592000000 }); // Expires in one month
Run Code Online (Sandbox Code Playgroud)
添加到注销路径
res.clearCookie('userid');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27083 次 |
| 最近记录: |