jwt了解
JWT(JSON Web Token) 是一个开放标准协议,它定义了一种“紧凑”和“自包含”的方式,它用于各方之间作为JSON对象安全地传输信息。(相当于一串标识用于前后端安全交互使用)
-
紧凑
数据量较少,并且能通过url参数,http请求提交的数据以及http header(请求头)的方式来传递。 -
自包含
这个串可以包含很多信息,比如用户ID,订单号ID等,如果被其他人拿到该信息,也就可以拿到关键业务信息。
jwt组成
- Header(头部) :typ(Token的类型,JWT类型) + alg(Hash算法,‘HS256’)
- Payload(负载):包含一些声明,用来存放实际需要传递的数据
- Signature(签名):对上面两部分的签名,放篡改
例:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
使用场景
jwt认证流程
细品 🌝
- 客户端发送登录信息(用户名+密码)给服务器
- 校验登录信息,使用密钥创建jwt;返回jwt给客户端
- 客户端获取jwt后,保存至本地
- 客户端再次请求API数据时,携带到request header(请求头)内的Authorization属性上,发给服务器
- 服务器拿到jwt后,检查jwt是否有效,从jwt中获取用户信息
- 校验成功,服务器返回数据给客户端(校验失败状态码401(未授权,没有权限))
到这里就结束了,后续还会更新 前端 系列相关,还请持续关注!
感谢阅读,若有错误可以在下方评论区留言哦!!!