token的使用二

三.token身份验证的使用-----前端
大概流程:
1.客户端使用用户名跟密码请求登录
2.服务端收到请求,去验证用户名与密码
验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
3.客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
4.服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据


解析token

jwt.verify(token,"abc",async(err,info)=>{})

//老师用token查询所有学生的数据
router.get("/teacherquery", (req, res, next) => {
    let token = req.headers.token
    jwt.verify(token, "abc", async (err, info) => {
        if (err) {
            res.json({

                code: 0,
                msg: "token解析异常"
            })
        } else {
            let { userid, usertype } = info
            let { page, shownum, type, key } = req.query
            //动态构建对象
            let params = {}
            //如果type为空就是查询所有
            if (type) {
                params.type = type
            }
            params.username = new RegExp(`.${key}.|${key}.|.${key}|${key}`)

            if (usertype == 1) {
                let list = await leaveService.teacherquery(params, shownum * (page - 1), shownum * 1)
                //得到每个tyep的总数
                let count = await leaveService.setcount(params)
                res.json({
                    code: 1,
                    msg: "查询成功",
                    data: list,
                    count
                })
            } else {
                res.json({
                    code: 2,
                    msg: "token权限不够"


                })
            }

        }
    })
})

 

posted @ 2021-08-31 19:59  JSkolo_yyds  阅读(82)  评论(0编辑  收藏  举报