JWT流程
- 客户端登录请求校验成功后,服务端生成一个由base64编码的token返回给客户端,该token由Header,Payload,Signature组成。
- token作为用户请求的标识,客户端保存这token的全部信息。服务端只需要保存token的Signature部分。
- 服务端把token的Signature存于redis和服务器的数据库中。
- 客户端请求的数据附带token,服务端拿到token,首先校验token,以防token伪造。校验规则如下:
- 拆分出token的Header,Payload,Signature。
- 校验Signature,通过token的header和payload生成Signature,看看生成的Signature是否和客户端附带上来的Signature一致。如果一致继续请求操作,不一致则打回操作
- 查看Signature是否存在服务器的redis和数据库中。如果不存在则打回请求操作
一句话,服务端校验,先校验token有没有被篡改,再是校验这个token是不是我发出的。
友链:https://www.cnblogs.com/lufeiludaima/p/pz20190203.html