JWT文档

概念

  • JWT 全称为 JSON WEB TOKEN,意为基于json的在网络上声明某种主张的token。主要包括Header,payload,signature.

为什么要用JWT,原来的session不能用吗?

  • session认证模式:用户输入账号和密码,服务器验证通过后,返回相关数据给用户,浏览器会把信息存入本地的cookie,用户后续的每次请求都会从cookie中提取信息传给服务器,服务器收到信息后对比之前的进行验证,确认用户身份。问题:不用客户端的用户增加,服务器开销增加,需要分布式架构,但是是基于cookie进行用户识别的,cookie一旦被截获,用户容易收到攻击。
  • JWT模式:解决了跨域身份验证的问题。因为token的鉴权机制类似于http协议是无状态的,不需要在服务器端保存用户认证信息,一旦用户完成了登录,服务器返回一个token给用户,客户端存储token,每次请求携带该token,进行身份,路由以及资源的访问验证。token在header里,服务器要支持跨域资源共享:Access-control-allow-origin

JWT认证流程

  • Header:声明算法和常量 把header用json转为字符串
  • payload:声明用户信息。使用json转为字符串
  • 使用header声明的算法和每个项目生成的secret进行加密,把上述两个字符串进行加密,生成一串新的字符串。
  • 解密的时候,只要客户端的请求带着jwt就用secret进行解密
posted @ 2026-03-25 21:59  超级码农n号  阅读(4)  评论(0)    收藏  举报