spring boot集成jwt安全验证

本文介绍了JWT的原理及组成,包括头部、载荷和签证,并详细讲解了JWT在Spring Boot中的应用,包括JWT的使用、安全注意事项及代码实战,涉及JWT工具类创建、拦截器配置和作用。通过JWT,实现了无状态的认证,提升了系统的安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相比于session,JWT无状态性,在集群后端系统中有明显优势。

什么是JWT

Json Web Token(JWT):JSON网络令牌,是为了在网络应用环境间传递声明而制定的一种基于JSON的开放标准((RFC 7519)。JWT是一个轻便的安全跨平台传输格式,定义了一个紧凑的自包含的方式用于通信双方之间以 JSON 对象行使安全的传递信息。因为数字签名的存在,这些信息是可信的。

JWT的组成

JWT含有三个部分:

  • 头部(header)
  • 载荷(payload)
  • 签证(signature)

头部(header)

头部一般有两部分信息:类型、加密的算法(通常使用HMAC SHA256)

一般采用Base64加密存储,明文格式如下:

{
    "typ":"JWT",
    "alg":"HS256"
}

载荷(payload)

一般用于存放一些有效信息:

  • iss:该JWT的签发者
  • sub:该JWT所面向的用户,如:openId
  • aud:接收该JWT的一方,如:mobile
  • exp(expires):过期时间,这里是一个Unit的时间戳
  • iat(issued at):该JWT签发时间

签证(signature)

使用了对应加密算法(HMAC/SHA256)加密三部分后的数据,用于校验数据的准确性,避免被中途串改。

包含三部分信息:

  • header(base64后的)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值