token的使用二
三.token身份验证的使用-----前端
大概流程:
1.客户端使用用户名跟密码请求登录
2.服务端收到请求,去验证用户名与密码
验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
3.客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
4.服务端收到请求,然后去验证客户端请求里面带着的 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权限不够" }) } } }) })