基于SpringBoot的JWT令牌验证简易过程(上)

fe691f7db27a4d07a80870435e194460.png

关键词知悉

会话:当打开浏览器并访问Web服务器上的资源时,就会建立一个会话。一个会话包括多次请求和响应。例如,登录教学系统会发起一次请求并得到响应,查询课程也会发起一次请求并得到响应。

会话跟踪:服务器识别多个请求是否来自同一浏览器的过程,目的是在同一会话中的多次请求之间共享数据,例如获取验证码并校对获取过的验证码(两个请求)。

HTTP无状态:每个请求都是独立的,没有相互关联,无法共享数据。解决方法是使用会话跟踪。

跟踪方案

           Cookie, 不能进行跨域请求,可以被用户禁用,不够安全。

           Session,在服务器集群中无法直接共享。

           JWT 令牌,需要自行实现,无法伪造

JWT令牌

本质上是一个字符串,它定义了一种简洁且自包含的格式,用于在通信双方之间以JSON数据格式安全传输信息。令牌由以下三个部分组成:

eyJhbGciOiJIUzI1NiJ9.
eyJuYW1lIjoiam9pbiIsImlkIjoxLCJleHAiOjE3MjUwNjc5NjJ9.
3GoCTzD_Hd0hp5E1snA8Dta2UTytTNyH7GrP78Z_5kU

Header(头部):记录签名类型及所用的签名算法,例如:{"alg":"HS256","typ":"JWT"}。

Payload(有效载荷):包含自定义信息以及默认信息,如:{"id":1,"name":"张三"}。

Signature(签名):为了防止令牌被篡改,结合header和payload以及一个指定的密钥,通过特定算法生成。

应用场景举例:用于登录认证。

用户成功登录后,系统将生成一个令牌。此后,每个请求都需要附带该jwt令牌,并且系统会在处理每个请求之前进行拦截验证。

基于springboot使用JWT令牌

在pom文件中引入jwt依赖:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值