我已经使用JWT创建了登录系统,还创建了配置文件路由,用户可以看到他/她在登录期间在JWT中传递的数据。
现在,我想按_id
列出已登录用户的整个对象。我该怎么办?
现在,我只能获取在JWT登录路由中传递的详细信息:-
router.get('/adminProfile', checkAuth, (req, res, data) =>{
if(req.userData.role2 === 'admin') {
Admin.find().then(users => res.json(req.userData))
.catch(error => res.json({error}))
} else {
res.status(401).send(["Not authorized. Only admin can check details."]);
}
});
登录时:-
if (result && admin.admins.verified === "true"){
const adminEmaill = admin.admins.email;
//console.log(adminEmaill);
const role2 = admin.admins.email===adminEmaill? "admin" : "user";
const token = jwt.sign(
{
userId: admin._id,
address: admin.address,
email: admin.admins.email,
role2
},
process.env.JWT_KEY,
{
expiresIn : "1h"
});
因此,我得到userId
,address
,email
作为回应。但是我正在通过注册的对象中有更多数据。我希望id
调用此特定用户的整个对象。 如何修改我的个人资料路线?