如何在节点登录api中添加角色或将电子邮件、密码与角色Map?

toe95027  于 2021-10-10  发布在  Java
关注(0)|答案(0)|浏览(182)

当我提供正确的凭据时,我的登录api正在生成令牌,现在我想添加角色,并检查它是否通过将电子邮件、密码与角色(即)用户或管理员Map来生成令牌。。我将如何实现这一点。下面是我的代码。我正在从employee表获取电子邮件和密码,并希望从roles表Map角色。期待帮助

getUserByUserEmail  : (email , callBack) =>{
        pool.query(
            `select * from employee inner join roles on employee.internal_id = roles.internal_id where email = ?`,
            [email],
            (error, results, fields) => {
                if(error){
                    return callBack(error);
                }
                return callBack(null, results);
            }
        )
    }

下面是我调用getuserbyuseremail服务的登录函数。

login: (req, res ) =>{
    const body = req.body;
    getUserByUserEmail(body.email, (err, results) => {
        if(err) {
            console.log(err);
        }
        if(!results) {
            return res.json({
                success : 0 ,
                message : "Invalid Email or Password"
            });
        }
        const result = compareSync( body.password, results[0].password);
        if (result) {
            results[0].password = "";
            const jsontoken = sign({ result: results }, "qwe123", {expiresIn : "3h"});
            return res.json({
                success : 1 ,
                message : "You are logged in Successfully!",
                token : jsontoken
            });
            console.log(results)
        }
        else{
            return res.json({
                success : 0 ,
                message : "Invalid Email or Password"
            });
        }
    });
}

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题