验证用户身份后通过id传递整个对象

时间:2019-06-03 16:18:23

标签: node.js express mongoose express-jwt

我已经使用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"
                            });

因此,我得到userIdaddressemail作为回应。但是我正在通过注册的对象中有更多数据。我希望id调用此特定用户的整个对象。 如何修改我的个人资料路线?

0 个答案:

没有答案