Token的验证流程以及用法

it2022-05-05  227

一、身份验证流程

1、用户向服务器发送用户名和密码。

2、服务端收到请求,去验证用户名与密码

3、验证成功后,服务端会签发一个 Token,将这个 Token 发送给客户端。

4、客户端收到 Token 以后可以把它存储起来,放在 Cookie 里或者 Local Storage 里

5、用户随后的每一次请求,都会通过 Cookie,将 token 传回服务器。

6、服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据

二、验证的用法

1、下载安装(如果已经安装则不需要此操作)
cnpm install jsonwebtoken
2、引入jwt(jsonwebtoken)
const jwt = require("jsonwebtoken") ;
3、验证成功后生成一个token值
let token = jwt.sign({username},'signature',{expiresIn:'1h'}) ; //sign后面的三个参数分别是需要存储的信息,签名(最好用sha256加密后再用),过期时间
4、发送至客户端
res.cookie("token",token) ; //"token"(这里不要用token,一般情况下需要先进性加密处理)为name值;token为value值
5、验证token
const islogin = (req,res) => { let{token} = req.body ; //解构赋值,获取请求的信息 jwt.verify(token,'signature',function(err,decoded){ //verify特定的验证方法(三个参数:请求的token,验证token是否是当前的token,函数体返回信息) if(!err){ //如果token不存在进入 res.json({ ... ... } }) }else{ //否则,token存在进入 res.json({ ... ... } }) } }) }
6、最后将返回值导出
module.exports = { islogin }

最新回复(0)