一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第13天,点击查看活动详情。
前后端使用Token交互
Token
就是通过对称加密,把用户id存到客户端,每次请求服务器带着id,服务器解密出来,正常使用
jwt概述
什么是jwt
JSON web Token,通过数字签名的方式,以JSON对象为载体,在不同的服务终端之间安全的传输信息。
JWT有什么用?
JWT最常见的场景就是授权认证,一旦用户登录,后续每个请求都将包含JWT,系统在每次处理用户请求的之前,都要先进行JWT安全校验,通过之后再进行处理。
demo
解密
JWT的组成
第一部分
第二部分
注意:注意在 Payload中不能够存放铭感数据手机号码、密码Token对应存放在 Redis或者数据库中的数据。
第三部分
验证签名,防止篡改payload数据
JWT和TOKEN的区别
在token需要存入redis中,才能进行跨服务器的使用,而jwt不需要
- token依赖于Redis查询数据信息,token存放 value数据比较安全的。
- Jwt不需要依赖于服务器端,将数据信息内容直接存放在客户端(浏览器
Base64
底层原理
对前两部分分别用base64编码转换再用'.'拼接,然后再把两者加盐加密,拼接为第三部分
为什么用token不用账号密码
把token保存在客户端,这样服务端就是无状态的了,方便分布和扩展
token是存在session或者redis中的,也就是在内存中速度快
实操
加密
解密
获取payload数据
客户端保存这个token,每次请求携带这个token,完成前后端交互。
\